{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import functools\n",
    "import os\n",
    "import json\n",
    "import re\n",
    "import torch\n",
    "from tqdm import tqdm\n",
    "from torch_geometric.data import *\n",
    "import networkx as nx\n",
    "\n",
    "import hashlib\n",
    "def stringtomd5(originstr):\n",
    "    originstr = originstr.encode(\"utf-8\")\n",
    "    signaturemd5 = hashlib.sha256()\n",
    "    signaturemd5.update(originstr)\n",
    "    return signaturemd5.hexdigest()\n",
    "\n",
    "filePath=\"/the/absolute/path/of/raw_log/\"\n",
    "\n",
    "filelist = os.listdir(filePath)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "filelist = ['ta1-clearscope-e3-official-1.json',\n",
    " 'ta1-clearscope-e3-official-1.json.1',\n",
    " 'ta1-clearscope-e3-official-1.json.10',\n",
    " 'ta1-clearscope-e3-official-1.json.11',\n",
    " 'ta1-clearscope-e3-official-1.json.12',\n",
    " 'ta1-clearscope-e3-official-1.json.13',\n",
    " 'ta1-clearscope-e3-official-1.json.14',\n",
    " 'ta1-clearscope-e3-official-1.json.15',\n",
    " 'ta1-clearscope-e3-official-1.json.16',\n",
    " 'ta1-clearscope-e3-official-1.json.17',\n",
    " 'ta1-clearscope-e3-official-1.json.18',\n",
    " 'ta1-clearscope-e3-official-1.json.19',\n",
    " 'ta1-clearscope-e3-official-1.json.2',\n",
    " 'ta1-clearscope-e3-official-1.json.3',\n",
    " 'ta1-clearscope-e3-official-1.json.4',\n",
    " 'ta1-clearscope-e3-official-1.json.5',\n",
    " 'ta1-clearscope-e3-official-1.json.6',\n",
    " 'ta1-clearscope-e3-official-1.json.7',\n",
    " 'ta1-clearscope-e3-official-1.json.8',\n",
    " 'ta1-clearscope-e3-official-1.json.9',\n",
    " 'ta1-clearscope-e3-official-2.json',\n",
    " 'ta1-clearscope-e3-official-2.json.1',\n",
    " 'ta1-clearscope-e3-official-2.json.10',\n",
    " 'ta1-clearscope-e3-official-2.json.11',\n",
    " 'ta1-clearscope-e3-official-2.json.12',\n",
    " 'ta1-clearscope-e3-official-2.json.13',\n",
    " 'ta1-clearscope-e3-official-2.json.14',\n",
    " 'ta1-clearscope-e3-official-2.json.15',\n",
    " 'ta1-clearscope-e3-official-2.json.16',\n",
    " 'ta1-clearscope-e3-official-2.json.17',\n",
    " 'ta1-clearscope-e3-official-2.json.18',\n",
    " 'ta1-clearscope-e3-official-2.json.19',\n",
    " 'ta1-clearscope-e3-official-2.json.2',\n",
    " 'ta1-clearscope-e3-official-2.json.20',\n",
    " 'ta1-clearscope-e3-official-2.json.21',\n",
    " 'ta1-clearscope-e3-official-2.json.22',\n",
    " 'ta1-clearscope-e3-official-2.json.23',\n",
    " 'ta1-clearscope-e3-official-2.json.24',\n",
    " 'ta1-clearscope-e3-official-2.json.25',\n",
    " 'ta1-clearscope-e3-official-2.json.26',\n",
    " 'ta1-clearscope-e3-official-2.json.27',\n",
    " 'ta1-clearscope-e3-official-2.json.28',\n",
    " 'ta1-clearscope-e3-official-2.json.3',\n",
    " 'ta1-clearscope-e3-official-2.json.4',\n",
    " 'ta1-clearscope-e3-official-2.json.5',\n",
    " 'ta1-clearscope-e3-official-2.json.6',\n",
    " 'ta1-clearscope-e3-official-2.json.7',\n",
    " 'ta1-clearscope-e3-official-2.json.8',\n",
    " 'ta1-clearscope-e3-official-2.json.9',\n",
    " 'ta1-clearscope-e3-official.json',\n",
    " 'ta1-clearscope-e3-official.json.1']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "from datetime import datetime, timezone\n",
    "import time\n",
    "import pytz\n",
    "from time import mktime\n",
    "from datetime import datetime\n",
    "import time\n",
    "def ns_time_to_datetime(ns):\n",
    "    \"\"\"\n",
    "    :param ns: int nano timestamp\n",
    "    :return: datetime   format: 2013-10-10 23:40:00.000000000\n",
    "    \"\"\"\n",
    "    dt = datetime.fromtimestamp(int(ns) // 1000000000)\n",
    "    s = dt.strftime('%Y-%m-%d %H:%M:%S')\n",
    "    s += '.' + str(int(int(ns) % 1000000000)).zfill(9)\n",
    "    return s\n",
    "\n",
    "def ns_time_to_datetime_US(ns):\n",
    "    \"\"\"\n",
    "    :param ns: int nano timestamp\n",
    "    :return: datetime   format: 2013-10-10 23:40:00.000000000\n",
    "    \"\"\"\n",
    "    tz = pytz.timezone('US/Eastern')\n",
    "    dt = pytz.datetime.datetime.fromtimestamp(int(ns) // 1000000000, tz)\n",
    "    s = dt.strftime('%Y-%m-%d %H:%M:%S')\n",
    "    s += '.' + str(int(int(ns) % 1000000000)).zfill(9)\n",
    "    return s\n",
    "\n",
    "def time_to_datetime_US(s):\n",
    "    \"\"\"\n",
    "    :param ns: int nano timestamp\n",
    "    :return: datetime   format: 2013-10-10 23:40:00\n",
    "    \"\"\"\n",
    "    tz = pytz.timezone('US/Eastern')\n",
    "    dt = pytz.datetime.datetime.fromtimestamp(int(s), tz)\n",
    "    s = dt.strftime('%Y-%m-%d %H:%M:%S')\n",
    "\n",
    "    return s\n",
    "\n",
    "def datetime_to_ns_time(date):\n",
    "    \"\"\"\n",
    "    :param date: str   format: %Y-%m-%d %H:%M:%S   e.g. 2013-10-10 23:40:00\n",
    "    :return: nano timestamp\n",
    "    \"\"\"\n",
    "    timeArray = time.strptime(date, \"%Y-%m-%d %H:%M:%S\")\n",
    "    timeStamp = int(time.mktime(timeArray))\n",
    "    timeStamp = timeStamp * 1000000000\n",
    "    return timeStamp\n",
    "\n",
    "def datetime_to_ns_time_US(date):\n",
    "    \"\"\"\n",
    "    :param date: str   format: %Y-%m-%d %H:%M:%S   e.g. 2013-10-10 23:40:00\n",
    "    :return: nano timestamp\n",
    "    \"\"\"\n",
    "    tz = pytz.timezone('US/Eastern')\n",
    "    timeArray = time.strptime(date, \"%Y-%m-%d %H:%M:%S\")\n",
    "    dt = datetime.fromtimestamp(mktime(timeArray))\n",
    "    timestamp = tz.localize(dt)\n",
    "    timestamp = timestamp.timestamp()\n",
    "    timeStamp = timestamp * 1000000000\n",
    "    return int(timeStamp)\n",
    "\n",
    "def datetime_to_timestamp_US(date):\n",
    "    \"\"\"\n",
    "    :param date: str   format: %Y-%m-%d %H:%M:%S   e.g. 2013-10-10 23:40:00\n",
    "    :return: nano timestamp\n",
    "    \"\"\"\n",
    "    tz = pytz.timezone('US/Eastern')\n",
    "    timeArray = time.strptime(date, \"%Y-%m-%d %H:%M:%S\")\n",
    "    dt = datetime.fromtimestamp(mktime(timeArray))\n",
    "    timestamp = tz.localize(dt)\n",
    "    timestamp = timestamp.timestamp()\n",
    "    timeStamp = timestamp\n",
    "    return int(timeStamp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Database setting (Make sure the database and tables are created)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "import psycopg2\n",
    "\n",
    "from psycopg2 import extras as ex\n",
    "connect = psycopg2.connect(database = 'tc_clearscope3_dataset_db',\n",
    "                           host = '/var/run/postgresql/',\n",
    "                           user = 'postgres',\n",
    "                           password = 'postgres',\n",
    "                           port = '5432'\n",
    "                          )\n",
    "\n",
    "cur = connect.cursor()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Netflow"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 51/51 [07:45<00:00,  9.13s/it]\n"
     ]
    }
   ],
   "source": [
    "netobjset=set()\n",
    "netobj2hash={}# \n",
    "datalist=[]\n",
    "for file in tqdm(filelist):\n",
    "        with open(filePath + file, \"r\") as f:\n",
    "            for line in f:\n",
    "#                 pass\n",
    "                if \"NetFlowObject\" in line:\n",
    "#                     print(line)\n",
    "                    try:\n",
    "                        res=re.findall('NetFlowObject\":{\"uuid\":\"(.*?)\"(.*?)\"localAddress\":\"(.*?)\",\"localPort\":(.*?),\"remoteAddress\":\"(.*?)\",\"remotePort\":(.*?),',line)[0]\n",
    "\n",
    "                        nodeid=res[0]\n",
    "                        srcaddr=res[2]\n",
    "                        srcport=res[3]\n",
    "                        dstaddr=res[4]\n",
    "                        dstport=res[5]\n",
    "\n",
    "                        nodeproperty=srcaddr+\",\"+srcport+\",\"+dstaddr+\",\"+dstport \n",
    "                        hashstr=stringtomd5(nodeproperty)\n",
    "                        netobj2hash[nodeid]=[hashstr,nodeproperty]\n",
    "                        netobj2hash[hashstr]=nodeid\n",
    "                        netobjset.add(hashstr)\n",
    "                    except:\n",
    "                        pass\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "datalist=[]\n",
    "for i in netobj2hash.keys():\n",
    "    if len(i)!=64:\n",
    "        datalist.append([i]+[netobj2hash[i][0]]+netobj2hash[i][1].split(\",\"))\n",
    "\n",
    "\n",
    "sql = '''insert into netflow_node_table\n",
    "                     values %s\n",
    "        '''\n",
    "ex.execute_values(cur,sql, datalist,page_size=10000)\n",
    "connect.commit()  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Process"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 51/51 [06:48<00:00,  8.02s/it]\n"
     ]
    }
   ],
   "source": [
    "scusess_count=0\n",
    "fail_count=0\n",
    "subject_objset=set()\n",
    "subject_obj2hash={}# \n",
    "for file in tqdm(filelist):\n",
    "        with open(filePath + file, \"r\") as f:\n",
    "#             for line in tqdm(f): \n",
    "            for line in (f):\n",
    "                if \"schema.avro.cdm18.Subject\" in line:\n",
    "#                     print(line)\n",
    "                    subject_uuid=re.findall('Subject\":{\"uuid\":\"(.*?)\",(.*?)\"cmdLine\":{\"string\":\"(.*?)\"}',line)\n",
    "#                     subject_uuid=re.findall('\"subject\":{\"com.bbn.tc.schema.avro.cdm18.UUID\":\"(.*?)\"}(.*?)\"exec\":\"(.*?)\"',line)\n",
    "                    try:\n",
    "#                         (subject_uuid[0][-1])\n",
    "                        subject_obj2hash[subject_uuid[0][0]]=subject_uuid[0][-1]\n",
    "                        scusess_count+=1\n",
    "                    except:\n",
    "                        try:\n",
    "                            subject_obj2hash[subject_uuid[0][0]]=\"null\"\n",
    "                        except:\n",
    "                            pass\n",
    "#                             print(line)\n",
    "#                         print(line)                        \n",
    "                        fail_count+=1\n",
    "                        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "datalist=[]\n",
    "for i in subject_obj2hash.keys():\n",
    "    if len(i)!=64:\n",
    "        datalist.append([i]+[stringtomd5(subject_obj2hash[i]),subject_obj2hash[i]])\n",
    "\n",
    "sql = '''insert into subject_node_table\n",
    "                     values %s\n",
    "        '''\n",
    "ex.execute_values(cur,sql, datalist,page_size=10000)\n",
    "connect.commit()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## File"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 51/51 [05:32<00:00,  6.51s/it]\n"
     ]
    }
   ],
   "source": [
    "file_node=set()\n",
    "file_obj2hash={}\n",
    "for file in tqdm(filelist):\n",
    "        with open(filePath + file, \"r\") as f:\n",
    "            for line in f:\n",
    "                if \"com.bbn.tc.schema.avro.cdm18.FileObject\" in line:\n",
    "#                     print(line)\n",
    "                    Object_uuid=re.findall('FileObject\":{\"uuid\":\"(.*?)\",(.*?)\"path\":\"(.*?)\"',line) \n",
    "                    try:\n",
    "                        file_node.add(Object_uuid[0])\n",
    "                        file_obj2hash[Object_uuid[0][0]]=Object_uuid[0][-1]\n",
    "                    except:\n",
    "                        print(line)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "datalist=[]\n",
    "for i in file_obj2hash.keys():\n",
    "    if len(i)!=64:\n",
    "        datalist.append([i]+[stringtomd5(file_obj2hash[i]),file_obj2hash[i]])\n",
    "\n",
    "sql = '''insert into file_node_table\n",
    "                     values %s\n",
    "        '''\n",
    "ex.execute_values(cur,sql, datalist,page_size=10000)\n",
    "connect.commit() "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Processing the event data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "# Generate the data for node2id table\n",
    "node_list={}\n",
    "##################################################################################################\n",
    "sql=\"\"\"\n",
    "select * from file_node_table;\n",
    "\"\"\"\n",
    "cur.execute(sql)\n",
    "records = cur.fetchall()\n",
    "\n",
    "for i in records:    \n",
    "    node_list[i[1]]=[\"file\",i[-1]]\n",
    "\n",
    "file_uuid2hash={}\n",
    "for i in records:\n",
    "    file_uuid2hash[i[0]]=i[1]\n",
    "##################################################################################################    \n",
    "sql=\"\"\"\n",
    "select * from subject_node_table;\n",
    "\"\"\"\n",
    "cur.execute(sql)\n",
    "records = cur.fetchall()\n",
    "\n",
    "for i in records:\n",
    "    node_list[i[1]]=[\"subject\",i[-1]]\n",
    "\n",
    "subject_uuid2hash={}\n",
    "for i in records:\n",
    "    subject_uuid2hash[i[0]]=i[1]\n",
    "##################################################################################################\n",
    "sql=\"\"\"\n",
    "select * from netflow_node_table;\n",
    "\"\"\"\n",
    "cur.execute(sql)\n",
    "records = cur.fetchall()\n",
    "\n",
    "for i in records:\n",
    "    \n",
    "    node_list[i[1]]=[\"netflow\",i[-2]+\":\"+i[-1]]\n",
    "\n",
    "net_uuid2hash={}\n",
    "for i in records:\n",
    "    net_uuid2hash[i[0]]=i[1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "node_list_database=[]\n",
    "node_index=0\n",
    "for i in node_list:\n",
    "    node_list_database.append([i]+node_list[i]+[node_index])\n",
    "    node_index+=1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "sql = '''insert into node2id\n",
    "                     values %s\n",
    "        '''\n",
    "ex.execute_values(cur,sql, node_list_database,page_size=10000)\n",
    "connect.commit()  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Constructing the map for nodeid to msg\n",
    "sql=\"select * from node2id ORDER BY index_id;\"\n",
    "cur.execute(sql)\n",
    "rows = cur.fetchall()\n",
    "\n",
    "nodeid2msg={}  # nodeid => msg and node hash => nodeid\n",
    "for i in rows:\n",
    "    nodeid2msg[i[0]]=i[-1]\n",
    "    nodeid2msg[i[-1]]={i[1]:i[2]} "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'fd5d32feb2d3562582258990ecfca9b88376957e512d5caac72ad89fc78d2df4': 0,\n",
       " 0: {'file': '/dev/null'},\n",
       " '019f7d49891769b824e0896655f129bfcf8105e2133f0d10e63faee6b8fccc5b': 1,\n",
       " 1: {'file': '/dev/socket/installd'},\n",
       " '00f760c2b892227badb8afb116ac56bdc16036fefc93ad9bc29306e3c9cd60ae': 2,\n",
       " 2: {'file': '/system/framework/services.jar'},\n",
       " '3d911bbc1828dca482ea6d517c34d1dee8e24510ee45c507d88d1d8f73f42ca7': 3,\n",
       " 3: {'file': '/system/framework/ethernet-service.jar'},\n",
       " '61eac2fae4a70e8393df0bc19759f2ec7933e7a6e4803f9ac6c794d4c80e58f6': 4,\n",
       " 4: {'file': '/system/framework/wifi-service.jar'},\n",
       " 'f3f7bba2a4c894eefc0dfff7e9403e690636df32db7fd410ba68d8bcabe88828': 5,\n",
       " 5: {'file': '/system/vendor/lib'},\n",
       " 'a576f07d9f6e91f26f601e9ed11a0f2074284f9c03701276123921397beac0f1': 6,\n",
       " 6: {'file': '/system/lib'},\n",
       " '45687c395f2c519647a85f898b46aed4fab37b51a3a100fac47ed976e40aeec2': 7,\n",
       " 7: {'file': '/system/lib/libandroid_servers.so'},\n",
       " 'f92f58903e045da2b0f6d1ab0cf1d5104f2269e4955520cd1553efe4727987eb': 8,\n",
       " 8: {'file': '/data/system/procstats'},\n",
       " 'eb0a6db527156f1efef47f728f5fceff2a9197bc8e9f1532f3d42b2a7faf3877': 9,\n",
       " 9: {'file': '/data/system/batterystats.bin'},\n",
       " 'ed8029f96d03b32d9e656267e521fed8593d08be2b5dc8ba6abeee506afde57a': 10,\n",
       " 10: {'file': '/data/system/batterystats.bin.tmp'},\n",
       " '9fec08210a65dedf5863bf790dd3ed1b291798b946a02c3400306b832942db14': 11,\n",
       " 11: {'file': '/proc/1/stat'},\n",
       " 'c0e5bb81aa2ce8d26973211be604c5efa12f058ef654fc1f3a1cc66c17216b23': 12,\n",
       " 12: {'file': '/proc/1/cmdline'},\n",
       " '961e62235b09c5199ee79f3d3d9aa8b54534f85dcbf040fd06037ccc425a0563': 13,\n",
       " 13: {'file': '/proc/2/stat'},\n",
       " '2f61373b711f2a491b60be6de6659a55e074ebfe10f9d3c3724228ee8245d188': 14,\n",
       " 14: {'file': '/proc/2/cmdline'},\n",
       " 'ba363105f04c324be16a24dad3177f2c78166bec6f51327ddc22c529620604a0': 15,\n",
       " 15: {'file': '/proc/3/stat'},\n",
       " 'cd05120ede47da774f7c4b87707c903a426c3fda98f0937bd597ea7a7fffd692': 16,\n",
       " 16: {'file': '/proc/3/cmdline'},\n",
       " '02e764d6311a4f15ec5349a795ad76a3b8d7c89d8bf608c00dc18dad8985dca8': 17,\n",
       " 17: {'file': '/proc/4/stat'},\n",
       " '1b1c761a437355d5c64fb083e724424cccef1182bef38b071c40266eddfe7351': 18,\n",
       " 18: {'file': '/proc/4/cmdline'},\n",
       " '63ddb4eb7c51010a8f199f6164561b35bfacf3b8b22fdfea9e8b52f5b76a4d64': 19,\n",
       " 19: {'file': '/proc/5/stat'},\n",
       " '2567f1ef85da41f39c34ad71ace994f6f55427a630e4ab01e7136ffe07bd181d': 20,\n",
       " 20: {'file': '/proc/5/cmdline'},\n",
       " 'c7410bcea4b9942eaf991299455310e5d8e8a73019bedeb13847a4f87b5d1654': 21,\n",
       " 21: {'file': '/proc/6/stat'},\n",
       " '08fb96c8987ea7e344091b3dbec06c7fe6e15f4e0aade6ef91939cd02591fc4d': 22,\n",
       " 22: {'file': '/proc/6/cmdline'},\n",
       " '2acb186b4401d871a9a8b4d252b95f5c69e1d5d3f4602179a7835af343c1a2c3': 23,\n",
       " 23: {'file': '/proc/7/stat'},\n",
       " '9242dcbf7663f46f289739ec914f72b6daf32bbee71bc3f14b8c1cba60e3bedc': 24,\n",
       " 24: {'file': '/proc/7/cmdline'},\n",
       " '67a9b42754c8ddaa695ed49f9889364f73c49eb6ed67850f541154c657a518d6': 25,\n",
       " 25: {'file': '/proc/8/stat'},\n",
       " '0874de3ebe5be39f5440a7fe6708601e63e68f780eaa43e5c979e162881be124': 26,\n",
       " 26: {'file': '/proc/8/cmdline'},\n",
       " 'a508e100918b49f1a45e1ba8ab61c87aaa6e5dcc3a354182f60f767708d56fdc': 27,\n",
       " 27: {'file': '/proc/9/stat'},\n",
       " '74dfa394d79d3457fbce0a4734ada55cfeef3b30e2c0501e557b412347cb7b00': 28,\n",
       " 28: {'file': '/proc/9/cmdline'},\n",
       " '44c425f052aeb92bbf4e4efc88f159e07671afc4dba478ea2e4379d197faf4fc': 29,\n",
       " 29: {'file': '/proc/10/stat'},\n",
       " 'da7c1c1dda9b6ed3ff3c1d7e1a0d90b7cf22291a28712fbd03c7fa1f4dc1c12e': 30,\n",
       " 30: {'file': '/proc/10/cmdline'},\n",
       " '5df77bdf39adeeaf1f54d4a8b90cb20bd2a65d48a046b547627cfd20a4628f87': 31,\n",
       " 31: {'file': '/proc/11/stat'},\n",
       " 'b3818e0aa021d2c44f98a13a8bc2e26c9fd366dc8638e31cc4951cf8e80caa18': 32,\n",
       " 32: {'file': '/proc/11/cmdline'},\n",
       " '55c2b688bea287af3e940f9f8ad1c3fa71252c7fc50f494f60ef521cf396d2bb': 33,\n",
       " 33: {'file': '/proc/12/stat'},\n",
       " '58630bcf2dfbdf4837a1ab1e0a51a44c4d81862c95faa6b19bc74257a9570397': 34,\n",
       " 34: {'file': '/proc/12/cmdline'},\n",
       " 'acf0484da8ca5b716316d57362f1547c72661da24093b521e0b30f2b0ea46aea': 35,\n",
       " 35: {'file': '/proc/13/stat'},\n",
       " 'ca8e55796bef487f2c0c56aef5aaea83a5cced3cb008556afdacd6ad18bd4404': 36,\n",
       " 36: {'file': '/proc/13/cmdline'},\n",
       " 'af52196bb967796f9f9d28c4dc02a697ab305da4eb921f5e348ee27dc0c48e15': 37,\n",
       " 37: {'file': '/proc/14/stat'},\n",
       " '712335335b527ee98d5eea5d4ce4b5b6a5b224386354fbacefbd9b879a6205bd': 38,\n",
       " 38: {'file': '/proc/14/cmdline'},\n",
       " '0dec314d03eaeb41394346ef63082dfff2119a747fc48746d5febee14cc73d87': 39,\n",
       " 39: {'file': '/proc/15/stat'},\n",
       " '0ba932d2d76a7fe5dfd375945b30bfcc1048be069676760e21de09754e3460da': 40,\n",
       " 40: {'file': '/proc/15/cmdline'},\n",
       " '4fdb19a00b745ebbcbf94599134a9b0922065dac2c97685ddbd76427be23290a': 41,\n",
       " 41: {'file': '/proc/16/stat'},\n",
       " '662c0b0a0681b74b4f60fe365d20e5f1529f0864ca1967e6e5666947404c13e5': 42,\n",
       " 42: {'file': '/proc/16/cmdline'},\n",
       " '59d770d887fc98ebfe9c5feed804d1e3826ab0c13b8c800d0fd6ded058b487fa': 43,\n",
       " 43: {'file': '/proc/17/stat'},\n",
       " '6b8c591a00120c54540c38cb2ba3da967a0028595d05db1f7b3e6d627c4be855': 44,\n",
       " 44: {'file': '/proc/17/cmdline'},\n",
       " '58ec18a1e647bb37be53f5bf5b5f8e1616a54fa959e164e9eec77536d932287a': 45,\n",
       " 45: {'file': '/proc/18/stat'},\n",
       " '9e1f52f0b53b1d61ae1316c5c6361c1e1671dd8fb7678fc1ed63fc241dfcc140': 46,\n",
       " 46: {'file': '/proc/18/cmdline'},\n",
       " '06dedfd07314e80f804fa84cc86342e4fbcbd3833e3cfb04734ed02f3fe7e211': 47,\n",
       " 47: {'file': '/proc/19/stat'},\n",
       " 'e49db11635c8dd97cb10724f1b035941a223e57aa64f508c12bc3d0cae257304': 48,\n",
       " 48: {'file': '/proc/19/cmdline'},\n",
       " 'e227f4ac8f2469e29c694aac4674f74d5b2e1d31ad7ec1602d4ee0bc577bc5a1': 49,\n",
       " 49: {'file': '/proc/20/stat'},\n",
       " '6210e9e0b625c31f5986757702146a10811ea688ca6aad163a10d32b5d2fe68d': 50,\n",
       " 50: {'file': '/proc/20/cmdline'},\n",
       " '123aa6155d129820bb9c33c17f7d507c28ce8e72352ace29f71e36baa72c98e0': 51,\n",
       " 51: {'file': '/proc/21/stat'},\n",
       " 'c75a7129dc16a9ce3a1d7230b80f2e7148d5e1fced94dbd19eb5459960a9ef3c': 52,\n",
       " 52: {'file': '/proc/21/cmdline'},\n",
       " '2e5232f67f5b59cd4bbfb62932d2bfe5b070a559189a6fc440bfa606876f007a': 53,\n",
       " 53: {'file': '/proc/22/stat'},\n",
       " 'af3acf63658b1108591e0637ac7d0a0b9a0ba72663fe6a4d7bec15b7dfb66401': 54,\n",
       " 54: {'file': '/proc/22/cmdline'},\n",
       " '43bab2e0bd34f8e7db792dcfe6b97d9bced7b53b24ed098adbb1c16085f350e9': 55,\n",
       " 55: {'file': '/proc/23/stat'},\n",
       " '574edc072ec720ccb1bb5d1142b2d0ccc9f40beaf09c0bb5a401008edc18d66f': 56,\n",
       " 56: {'file': '/proc/23/cmdline'},\n",
       " 'bb1f1fd8a26917e8c0346ef52dc0f594cfd3d7325a082a52f64a0cf6a3294f70': 57,\n",
       " 57: {'file': '/proc/24/stat'},\n",
       " '07f272d4402563ecd035ef646eb0add1b3e2afeabbd9d0a1304028a910a190db': 58,\n",
       " 58: {'file': '/proc/24/cmdline'},\n",
       " '4254bfc018fabe5f706583d42e29d2230ae7e2862705345f3ea2959342f48e86': 59,\n",
       " 59: {'file': '/proc/25/stat'},\n",
       " '2903d6375a35c6febda2ccfb71560d386cf05fc9ba6af94fcc4b5176c32a21ff': 60,\n",
       " 60: {'file': '/proc/25/cmdline'},\n",
       " '49b06c86f4aad47319c9e81a9cb404e8b744ddf7267e5b46e5d039418f64884e': 61,\n",
       " 61: {'file': '/proc/26/stat'},\n",
       " '7179b5917e57e77bf19f3cf208ffb5a1c83fa8e792bbad590b46eeb04c7fdbff': 62,\n",
       " 62: {'file': '/proc/26/cmdline'},\n",
       " '2f54f7561a103f1c2de7034cdd3aecb8c34c0dfdd43edcd2f56dce68f1367701': 63,\n",
       " 63: {'file': '/proc/27/stat'},\n",
       " '7afc56b23d8b669b73407b8dad9972f4468e7755e38d43ba6a7a4df99e3c2419': 64,\n",
       " 64: {'file': '/proc/27/cmdline'},\n",
       " 'ba898432961ef5b8dd2140a36f013fd1c4d66940e5204f8c930d3dd8be1da7a5': 65,\n",
       " 65: {'file': '/proc/28/stat'},\n",
       " '1c5905d5172535c462c381332dfda0701859b39fa2e27089d76b35b7b8ec6354': 66,\n",
       " 66: {'file': '/proc/28/cmdline'},\n",
       " '1de11b1d1e72b1e81f89f949943ec2ef4832c2a31a90e0c98b10fdbd3326d5c3': 67,\n",
       " 67: {'file': '/proc/29/stat'},\n",
       " '42428dd403af858aff2381f47ce7a20282e4fb0e8f7fbe36fc89612e606823c6': 68,\n",
       " 68: {'file': '/proc/29/cmdline'},\n",
       " '225b7ca467cf6daae07609fe92ddb011019afa9c3613453dff1960b4ba3882ce': 69,\n",
       " 69: {'file': '/proc/30/stat'},\n",
       " '726e08827a5723dfb514ac3ff73b6d6915e73329511ea25ba57a32a8275c94aa': 70,\n",
       " 70: {'file': '/proc/30/cmdline'},\n",
       " '4b2768556b15d25ec1ba5db7132c9c4bb6e2e799b69b5ff0ebef0cbd53c5dd3e': 71,\n",
       " 71: {'file': '/proc/31/stat'},\n",
       " '16aa15f1afb5fc1b7d1b212626109a4ac684a744a2269696956c72c140824be6': 72,\n",
       " 72: {'file': '/proc/31/cmdline'},\n",
       " '63003eef8180f3cd387ef94ea36ddcd61608272976c77f635299ca208874d0c0': 73,\n",
       " 73: {'file': '/proc/32/stat'},\n",
       " '7584d023d8ba75a39c53c98b5189daf75a260bd53853361d9e3a4df335b11f5d': 74,\n",
       " 74: {'file': '/proc/32/cmdline'},\n",
       " 'c3038d2cc3fde8e607eee7ab612c72a0641aefaa32952f06c0ec0c8ca4df4d7d': 75,\n",
       " 75: {'file': '/proc/33/stat'},\n",
       " 'd1c9723dfacabea9f24311b655577caa2edfdadd837bdad9b8eaea5a9179401a': 76,\n",
       " 76: {'file': '/proc/33/cmdline'},\n",
       " '1048e570e529b08b0100346670581526ad5a7f96601cc701961f97b464ac6e4c': 77,\n",
       " 77: {'file': '/proc/34/stat'},\n",
       " 'cd0434b4ef507af31e95c15bf7cae48283b9292bb7e36205de32948baaa42f3b': 78,\n",
       " 78: {'file': '/proc/34/cmdline'},\n",
       " '0818fa99dcd4073f93f59ec78ba5cc3682e88120fc68f6508857f56d080789e8': 79,\n",
       " 79: {'file': '/proc/57/stat'},\n",
       " '0306115e8b5ae9e70a3afaf622bb581f2180a3317b4ff4a3b5bf8a4190af9b26': 80,\n",
       " 80: {'file': '/proc/57/cmdline'},\n",
       " 'a653312932b54fb8454399d51fda3f5abc8145944f9e372e871d39390645a2d4': 81,\n",
       " 81: {'file': '/proc/58/stat'},\n",
       " '48c421e7e5ae3d60784c6f66084c258f97db78a6c93ed4f79b363abc9150a7b9': 82,\n",
       " 82: {'file': '/proc/58/cmdline'},\n",
       " 'f618811f56dafc7c24e1f6f6f12b0d38a109e21a4c05a3290ff57fc22ff3c991': 83,\n",
       " 83: {'file': '/proc/59/stat'},\n",
       " 'ab5923c30caa25b27b8d6110441c441d76d35b5248e677a0203596c7aa26c93d': 84,\n",
       " 84: {'file': '/proc/59/cmdline'},\n",
       " '30d941f8fb2dc496bfad158692a794978de6b4aa73265bdd8284f7d902cd7c8b': 85,\n",
       " 85: {'file': '/proc/60/stat'},\n",
       " '4f84f7641ed9d88e0f799ae040622223f9789780b98343d5433a228308e1651e': 86,\n",
       " 86: {'file': '/proc/60/cmdline'},\n",
       " 'cafc8b7f55b0ac018b5d93f2040ad02fac69dc5d816ce994775c2ba70286baa3': 87,\n",
       " 87: {'file': '/proc/61/stat'},\n",
       " 'c9f04431a87cfdbe2adbd12228d67f41f7575cabdbdcd00240b3736f07445377': 88,\n",
       " 88: {'file': '/proc/61/cmdline'},\n",
       " '051a825f1c408d8b04b25d0773b844249f1fa4e74f4c373959b41b17739cf1e2': 89,\n",
       " 89: {'file': '/proc/62/stat'},\n",
       " 'd85fe75e95315f19d06fe4c247874f568cc5b199cd5ace26ee460cecda09e5fb': 90,\n",
       " 90: {'file': '/proc/62/cmdline'},\n",
       " 'fa81bd749c603de499614d6a9f80de30bb7c705869a5e9a47eb481e67b759020': 91,\n",
       " 91: {'file': '/proc/63/stat'},\n",
       " 'b7b266dd7e659bbc3bc1993395a9f7e727cbe0758c10068f0b487d60158415a1': 92,\n",
       " 92: {'file': '/proc/63/cmdline'},\n",
       " '61cabffe96584a905f508cf4b2d1864c4c2e7345a7e3312cf4f9abab9f75c03b': 93,\n",
       " 93: {'file': '/proc/64/stat'},\n",
       " '51a92f1d841a18b4782463c60af49a4b90145fc0c1222b9ec4861cce28d6e608': 94,\n",
       " 94: {'file': '/proc/64/cmdline'},\n",
       " 'fee74a52c6d39a6c86cc8e1ae92ca62f034dd9a0770bf4ea2a0f9a6a50208fb2': 95,\n",
       " 95: {'file': '/proc/65/stat'},\n",
       " '00a0b9ec56941ca889316c1d843d5c5424f5acaec5159f32311ee3998f90cbdc': 96,\n",
       " 96: {'file': '/proc/65/cmdline'},\n",
       " 'a657a57aa4899c38b89902ae986eada7d4d829392a574ced815634204b02882d': 97,\n",
       " 97: {'file': '/proc/66/stat'},\n",
       " '8228992ffc6c5fa76c99b7cb3175346441956639caa945d9be3984eba8f6a264': 98,\n",
       " 98: {'file': '/proc/66/cmdline'},\n",
       " 'eccbb0597f3f9b914532052ad3180bf286e059710c82a2aefb215902c901c79c': 99,\n",
       " 99: {'file': '/proc/67/stat'},\n",
       " '83739d6355642540004475b14ef374fa1cae0ff8792112d8ceae0dabbfeaa02f': 100,\n",
       " 100: {'file': '/proc/67/cmdline'},\n",
       " '974b7c73e89e2a239853eac75f9a0bb11cf88c141b70cd36268fb2d3edbd5cce': 101,\n",
       " 101: {'file': '/proc/68/stat'},\n",
       " 'a7eae28ba2d866f8bce14f042641adbb8b1e7c0eda169a80168c109878160b7b': 102,\n",
       " 102: {'file': '/proc/68/cmdline'},\n",
       " 'ce9fb07c685095e26073fd50da5f34a17d894c3af5646d0c6bc82c3047a798ce': 103,\n",
       " 103: {'file': '/proc/69/stat'},\n",
       " 'ac37bcb70142768f8816f028db122313b89147b3f4e8cd53d217ff40383a6a76': 104,\n",
       " 104: {'file': '/proc/69/cmdline'},\n",
       " 'a59d47ebb548ff3708952688174148a5df0d370de472114eeb4e2e0d11f58a7e': 105,\n",
       " 105: {'file': '/proc/70/stat'},\n",
       " '85923c8ff7daae05f26151e21ae2fac473e8497fc65f32f9770a92cabc57d08b': 106,\n",
       " 106: {'file': '/proc/70/cmdline'},\n",
       " 'd6a1876678d20245c69f4205bfbe2f19d4c8d4859db358f5a00d88f7fd956555': 107,\n",
       " 107: {'file': '/proc/71/stat'},\n",
       " 'e6ecdda7e0b77f476869caed31faf822c76ec57c4ff82f74b2c9deeab7ca72b0': 108,\n",
       " 108: {'file': '/proc/71/cmdline'},\n",
       " '5c43fc6999315b10bb8d99fec608f95d58097b8e34d4270041e03ebdaa7c5318': 109,\n",
       " 109: {'file': '/proc/72/stat'},\n",
       " '8db32226a713b9aa16209a0a7fe0b8c45c38707c9bcdef2e82f0e2bd6b9cca3b': 110,\n",
       " 110: {'file': '/proc/72/cmdline'},\n",
       " '643befee28b380e9c42a0f6e6afadfc9d4be99c4786b90aa54ec52598013e38d': 111,\n",
       " 111: {'file': '/proc/73/stat'},\n",
       " 'fdc9b080d791cb1286cf883a39060d0c7de3d497ff156eac7871cf74168ac446': 112,\n",
       " 112: {'file': '/proc/73/cmdline'},\n",
       " '53c01601fe889e66930564e323527d1986ee995e1e123ad75c3bb07be8bc08a5': 113,\n",
       " 113: {'file': '/proc/74/stat'},\n",
       " 'c27de5a491d9465d37e3551de519cc624bf33f8eb45a88a3265e8f5872e614ca': 114,\n",
       " 114: {'file': '/proc/74/cmdline'},\n",
       " 'bb5c4b1a06f2b56a2b161de250ee97963aef12e160a9b34a527d33964f3ffcbe': 115,\n",
       " 115: {'file': '/proc/75/stat'},\n",
       " 'b69aed65d118410d156d42ad04037deca22abe774034d7087eb9a99799efe2a2': 116,\n",
       " 116: {'file': '/proc/75/cmdline'},\n",
       " 'a0a45e085b79ee75bbf1194120224434ee9439e917feafc6f2e927eea6d93797': 117,\n",
       " 117: {'file': '/proc/76/stat'},\n",
       " '4a9f92da7902e5a473fbcdcb0c9c337f3f343786ef436ccccb64f731d093ef6a': 118,\n",
       " 118: {'file': '/proc/76/cmdline'},\n",
       " '6be4d9e2f4ec198af6a8cfc7cd8c8a17b6ebfaaff0646bf3cec982b9b7f89226': 119,\n",
       " 119: {'file': '/proc/77/stat'},\n",
       " '086902d35d0932e8f3f05765360a134c9952ae0e8b1263162ded7fe00df3309e': 120,\n",
       " 120: {'file': '/proc/77/cmdline'},\n",
       " '37832678ef92950087306b5e85a688beb463372417d9b224757070ed38982c0d': 121,\n",
       " 121: {'file': '/proc/78/stat'},\n",
       " '3d4e68d541468850a3c1410c9ebc0b066bf9d84cebaabc2fd44825e1361d35db': 122,\n",
       " 122: {'file': '/proc/78/cmdline'},\n",
       " '72db1bde11cac15198016dc4284a1b307c7636fe60de705970f5973989235f5c': 123,\n",
       " 123: {'file': '/proc/79/stat'},\n",
       " '233eba5203493a831572cb38b10b64d953ff975eadda5996095ac41882f3993d': 124,\n",
       " 124: {'file': '/proc/79/cmdline'},\n",
       " 'eb1eb57a7deb302a3d0c6a056f1ce6df2299db4f8713b71ec42e3e5dfdfc3864': 125,\n",
       " 125: {'file': '/proc/80/stat'},\n",
       " '7def363084bee5424a96e95d28af19b0783b59ec21f116a9a3ee54eead51c122': 126,\n",
       " 126: {'file': '/proc/80/cmdline'},\n",
       " 'eb2427d67c1aa5574e03680c53bd9084330bded0e668a52da66887d988b5766b': 127,\n",
       " 127: {'file': '/proc/81/stat'},\n",
       " 'ad4444d84b59e78079f1b7d68a9da8b47b6e3badc2a78cc6c0eead81b85d8c28': 128,\n",
       " 128: {'file': '/proc/81/cmdline'},\n",
       " '1ef159ef52f2800c1f9840028203d606e355616748104cdcee66a749f24a80fd': 129,\n",
       " 129: {'file': '/proc/82/stat'},\n",
       " '4529adbf464c1eede09eeb4daa383724de5d8cfba780bf82485f6529f56af0f3': 130,\n",
       " 130: {'file': '/proc/82/cmdline'},\n",
       " '94441e2837efd1ad50150997c2c5da162a0e90f20b85017082091c3dcf61bfff': 131,\n",
       " 131: {'file': '/proc/83/stat'},\n",
       " '5059a2efa330bf1f2defd5e14b46cf1e55b59c0041a4d0e5074e72e5983ec3d0': 132,\n",
       " 132: {'file': '/proc/83/cmdline'},\n",
       " '3aa5f646b00f972df9a515e549fb76269a3cb58307b507c9f41cd1b6dc5c0695': 133,\n",
       " 133: {'file': '/proc/84/stat'},\n",
       " '9a3902bc78196835f3e02331ee91a6e0544457f87f056161af0549faf4732472': 134,\n",
       " 134: {'file': '/proc/84/cmdline'},\n",
       " '134fddf8ec77b5bf45f6abad917f1e04d98eb9884824e30e4e0ece10d2ae45e6': 135,\n",
       " 135: {'file': '/proc/85/stat'},\n",
       " '44529559e68ad7d5b735c9edc764c27e239d9a1daf1809b9bed2f964f2832c4d': 136,\n",
       " 136: {'file': '/proc/85/cmdline'},\n",
       " 'b044008b15feb046d2853505cfadc4e730c06938ecc163a272271bfce5aba832': 137,\n",
       " 137: {'file': '/proc/86/stat'},\n",
       " '08e2aeebcc9de2c8d6c0943bbdccd80b2589b1ae98f9c7fb66767becce83ce77': 138,\n",
       " 138: {'file': '/proc/86/cmdline'},\n",
       " '45842fae35528630cf930b7f3363775c295a1a44ad23db956d60a2373812c796': 139,\n",
       " 139: {'file': '/proc/87/stat'},\n",
       " 'e2d23d5022dc194148308ef43f574f73ba539dd1feb0040b92e0e962bf0b3920': 140,\n",
       " 140: {'file': '/proc/87/cmdline'},\n",
       " '113b1740c9b7d0e2385c230c0a2f6eddb6aa9e9f3a050e354907d4a5509a5755': 141,\n",
       " 141: {'file': '/proc/88/stat'},\n",
       " 'ea0152cd820460129fcbf8604196382886481f87c1fb155f4087b44e80f81eee': 142,\n",
       " 142: {'file': '/proc/88/cmdline'},\n",
       " 'a4e9e87c0fbf93699e5a4c171a57fa6034eeb009dee2c7c51cd9766ff243ad0f': 143,\n",
       " 143: {'file': '/proc/89/stat'},\n",
       " '213b575d46eb6440f9e42e150a43b7914bbfcf376f5b408c88b568c33f0713d6': 144,\n",
       " 144: {'file': '/proc/89/cmdline'},\n",
       " 'a1a758a5901ec65ca2b135ceddaea78cb707cc0311db4013d8766ae56d8730e3': 145,\n",
       " 145: {'file': '/proc/90/stat'},\n",
       " '4ff7666bcb098d950576f8ed4ee6cf39e981462c023557ab3d0c3648636f9b84': 146,\n",
       " 146: {'file': '/proc/90/cmdline'},\n",
       " '818f56be5e1a3a4b0602106022fb59c5959f195a98b16413b14e333cbb0083a2': 147,\n",
       " 147: {'file': '/proc/91/stat'},\n",
       " '5bbfb70a43a3d5800db3ea9316fe61a1f00f1bc839d89d3c63396b4c2ff31ffa': 148,\n",
       " 148: {'file': '/proc/91/cmdline'},\n",
       " '35b1a3ec9ad1050b9c565703ccad17deb2db285e47e262ba69e5a6418c4454d3': 149,\n",
       " 149: {'file': '/proc/92/stat'},\n",
       " '5368bdb7d2693e2d19f82b7a2affc6366d8e61e50acd62273e8138a09dfd2346': 150,\n",
       " 150: {'file': '/proc/92/cmdline'},\n",
       " 'b9dceee5f8ec2fe895e6ec5d60109f72133a8ea3fb54dd3583925a7879da2bf7': 151,\n",
       " 151: {'file': '/proc/93/stat'},\n",
       " 'ef1863e510b2cdc7e42f55ed624916d29e8f3782f1ddf8297e2e71ffeb973b33': 152,\n",
       " 152: {'file': '/proc/93/cmdline'},\n",
       " '461a7a83b4da5371833e2c8f35b56d38066bb456b1e6f3bd379204acdd65a17f': 153,\n",
       " 153: {'file': '/proc/94/stat'},\n",
       " 'a2c5ea9a55fd32ca17316fcf95a268210cd3b633ea95e82311e3c4bb50550ec7': 154,\n",
       " 154: {'file': '/proc/94/cmdline'},\n",
       " '45dc66bac8e5807d613a059467cc6c3d14ef5289bd9030556f7ad68295c43be7': 155,\n",
       " 155: {'file': '/proc/95/stat'},\n",
       " '91c15698111c755b867a806564081745cf2fee331a49537fc8602f80e8e609d7': 156,\n",
       " 156: {'file': '/proc/95/cmdline'},\n",
       " '981f2bedbc559c48425a832b88ca5a0a6c77fc165b605f023c52c3ebfe64111a': 157,\n",
       " 157: {'file': '/proc/96/stat'},\n",
       " 'fcc51e8b3b0cbd1b5211029ee7ce745295da2ed92f7e2a319e1526e721fa1838': 158,\n",
       " 158: {'file': '/proc/96/cmdline'},\n",
       " 'acd57384811070d66bfd498a0646a84ddd21e0e96958863d5348f8b3864cd971': 159,\n",
       " 159: {'file': '/proc/97/stat'},\n",
       " 'dbf3f542a67635e28a84059e4dcf789f6cc4a8c35ac43abf8ab6016d8f884e9c': 160,\n",
       " 160: {'file': '/proc/97/cmdline'},\n",
       " '19715ba024e3b45adf4c2aee8933d103fff168d8408915cc8188da5ebb71f174': 161,\n",
       " 161: {'file': '/proc/98/stat'},\n",
       " '90bc1c63f37e6e068fe0dfdcd5b81f444540eaafc5093ce74a798e790785b6ad': 162,\n",
       " 162: {'file': '/proc/98/cmdline'},\n",
       " 'c0fccabd02d6e74d4ab1e3bec3b54b84743390288ae489b444118025be2010ca': 163,\n",
       " 163: {'file': '/proc/99/stat'},\n",
       " 'ac7d7383b42845bb390dbe5c26b6c4d1ebf49fea629ad76a25bddc3a72631a6c': 164,\n",
       " 164: {'file': '/proc/99/cmdline'},\n",
       " '9267b9514db6a8d57752383e0d8f430f6fec9936f49413099d92e3b44bfdf8a9': 165,\n",
       " 165: {'file': '/proc/100/stat'},\n",
       " '7a9b918d98a9df06f314f2eb51cc17833aae38f84e3a01ee824de3086fc3851c': 166,\n",
       " 166: {'file': '/proc/100/cmdline'},\n",
       " 'bbce111f51d4372e26769221080d434fdcec03a8ea3b3d49c0f56e44509b084e': 167,\n",
       " 167: {'file': '/proc/101/stat'},\n",
       " '77bddc2678fa155fd36d0f27c9de10a438e62a9b4adfc60600a686b2364b66ea': 168,\n",
       " 168: {'file': '/proc/101/cmdline'},\n",
       " 'b910ddbe8c8088fdf94f575ffc4e399f20bee8a920c8ce8a5b5fc0eee291c6a2': 169,\n",
       " 169: {'file': '/proc/102/stat'},\n",
       " 'f727847612fbc2490d9ab5940fe31719f755d548af88dc98a92ca41ff0703b67': 170,\n",
       " 170: {'file': '/proc/102/cmdline'},\n",
       " 'de11fd51d24b8241187edf703541fdbb217072d0c5ba433961a82bec4a7d4626': 171,\n",
       " 171: {'file': '/proc/103/stat'},\n",
       " '203059ebfc3a606eabf7642345401c0f354555559abc36c4f16450888e16f0df': 172,\n",
       " 172: {'file': '/proc/103/cmdline'},\n",
       " '8ab722d738ff7ed66c4576a8a36ec42ae3c7be66c5ce3a419f065009ded6bcb2': 173,\n",
       " 173: {'file': '/proc/104/stat'},\n",
       " '7a3900e5520acbceb5b6176fc6c17d3ada219e81df39c717ce7f084cd66e985c': 174,\n",
       " 174: {'file': '/proc/104/cmdline'},\n",
       " '304dc2b69a4575d1cf54afce08851b6bc4d2785158dca658541e939e64c34e4b': 175,\n",
       " 175: {'file': '/proc/105/stat'},\n",
       " '52f2e1154087770c748b1a50bb19de7681c1df1a07434ffe7202a131535af39c': 176,\n",
       " 176: {'file': '/proc/105/cmdline'},\n",
       " '179bb77e9853d6d2864df2744037346a06bb5f3e20251af0538d5115bb444c32': 177,\n",
       " 177: {'file': '/proc/106/stat'},\n",
       " 'fdb59124493bf569eb324d46505ae7c61d5ad65191af59b0f852edecde4c8f1d': 178,\n",
       " 178: {'file': '/proc/106/cmdline'},\n",
       " 'abdc15a578485cc05811a7098dd8a117d499d12fae89c911ddf8cb6ad14c4a71': 179,\n",
       " 179: {'file': '/proc/107/stat'},\n",
       " '54f7376d1ff8542115bfa934d64386d4a583016d6a3e40daf9d44061ef30b108': 180,\n",
       " 180: {'file': '/proc/107/cmdline'},\n",
       " 'feca2d7c7234925f7eb821eba79df462161f8592750e241e4a9be34d55e7f626': 181,\n",
       " 181: {'file': '/proc/108/stat'},\n",
       " '276a70a1ec39a7fa59da3011fc9abb59f35aa9ea0cac2664375703f2dd1f023f': 182,\n",
       " 182: {'file': '/proc/108/cmdline'},\n",
       " 'a2c299d363926e3dadec1d4d7524ccafec493f999fc648ff5efb46d73d973ae0': 183,\n",
       " 183: {'file': '/proc/109/stat'},\n",
       " '9e329ddeb2500f36e777e1482f7c48f4178359ef929db5d92e8e4dbeabce6f77': 184,\n",
       " 184: {'file': '/proc/109/cmdline'},\n",
       " '1e71ef1fd38d17f1370b2ea661a3dbdcc47e54e95807536a2237c8da1a1b9f29': 185,\n",
       " 185: {'file': '/proc/110/stat'},\n",
       " '71980346f047f55a639ebadf5adaff7b49d0155cad5224658322e237fd0b9372': 186,\n",
       " 186: {'file': '/proc/110/cmdline'},\n",
       " 'c91141b423a41564f0af35bf6fbc04754180b7fbdc103fc04718961e1478206d': 187,\n",
       " 187: {'file': '/proc/111/stat'},\n",
       " 'd5cf87e26ee3435be12817620b87539a49d7e68f3c3c1c6dbf911dae5195ac67': 188,\n",
       " 188: {'file': '/proc/111/cmdline'},\n",
       " '24dd396a213c6a2115793fe38f864238f43a5e0639a7de9273f479398d4615eb': 189,\n",
       " 189: {'file': '/proc/112/stat'},\n",
       " '864cddbf0274954ec51e7f4b99d65dd13036b2c8b1da34db4f043ae9c0b59424': 190,\n",
       " 190: {'file': '/proc/112/cmdline'},\n",
       " '94b204d1652d9ba03e648cc5570f48d398fefec70aa8dbd31e017d851e4648ed': 191,\n",
       " 191: {'file': '/proc/113/stat'},\n",
       " '4b041af37024d9d187b237c9a53e43ee66c7366fc236fb45fb448f6d4586f928': 192,\n",
       " 192: {'file': '/proc/113/cmdline'},\n",
       " '1f82c49dd7965cc6241d7eb3ba6a8752255245b20e012bd08fea45e6e50ad803': 193,\n",
       " 193: {'file': '/proc/114/stat'},\n",
       " 'b3750a31536c7741e428930ad9911682e0308b276b742ddddb3230485ee9fd89': 194,\n",
       " 194: {'file': '/proc/114/cmdline'},\n",
       " '660e0988addfffd9658b406b67ec4b3f700c00e94848a7026b89ae0b16428270': 195,\n",
       " 195: {'file': '/proc/115/stat'},\n",
       " '5384d98e721694f82be819646c95c4ec5879dcbb31018125188393e7d43643f3': 196,\n",
       " 196: {'file': '/proc/115/cmdline'},\n",
       " '91bdda1580e8363548eed722105290de821f80ac31634e4583f650f3ca1acd98': 197,\n",
       " 197: {'file': '/proc/116/stat'},\n",
       " '340cd3ce8446ae6c4d654ea3b17676e20901b0c768c94661d78857d0f538529e': 198,\n",
       " 198: {'file': '/proc/116/cmdline'},\n",
       " 'f1a4e1d36986f83a0e4389480a144c3e4c6a848705600d3827fbb9a16d7a4582': 199,\n",
       " 199: {'file': '/proc/117/stat'},\n",
       " '89541531ea3da7a3f5ded7c96e92b7f272cbb84222cb18a8a95b15a483d86bd5': 200,\n",
       " 200: {'file': '/proc/117/cmdline'},\n",
       " '2e6b9b994009d5ce8c6d3590c3d52db4e936e48cc9540861d6b65184a490e095': 201,\n",
       " 201: {'file': '/proc/118/stat'},\n",
       " '55aecc25fcfd50e2f5c4b1c0710ce1817982a32d52d157b55e6dc29fa8993a11': 202,\n",
       " 202: {'file': '/proc/118/cmdline'},\n",
       " '438d7f1cd3354de8de9b4a15ccc23bcf9f60da44a882fe839002dfe9e05a6952': 203,\n",
       " 203: {'file': '/proc/130/stat'},\n",
       " '0c31472b304e6a8c19371486bb2616f56598fca3990783938c594bbc506dd8ae': 204,\n",
       " 204: {'file': '/proc/130/cmdline'},\n",
       " 'fa5d047cb53557098494a9bbbc57301824a1c1665e2759aedb041fe0918ba2d0': 205,\n",
       " 205: {'file': '/proc/131/stat'},\n",
       " '37f7b21b8b9688f8202fda9f855c2ef7f3dd4b9a53228b4540941596cb2acff6': 206,\n",
       " 206: {'file': '/proc/131/cmdline'},\n",
       " 'a2a219213369e84b79d4fdf9ff0878ea7974ee9be2e7dfac42f0b8fbee36eedd': 207,\n",
       " 207: {'file': '/proc/132/stat'},\n",
       " 'e03f0bd6df397baffd5adb72854198e397e409ba7054d447169152af243fa37d': 208,\n",
       " 208: {'file': '/proc/132/cmdline'},\n",
       " 'b7cb04b1d063e2aef78cd0cb63fb2eb1900ac2f29994688d9ac5791a749e69df': 209,\n",
       " 209: {'file': '/proc/133/stat'},\n",
       " '3303e781672ae41f3441cb9a933d48b640e2af9d78b38068fba6269695e3cf56': 210,\n",
       " 210: {'file': '/proc/133/cmdline'},\n",
       " 'f8253efd01489c962252b840e3c5539f524ee65ec322eb5fc737e509493ff0f4': 211,\n",
       " 211: {'file': '/proc/134/stat'},\n",
       " 'c55cbba3097c0f49bb5c475a8185831310e1a065bffe72b3b233ec8ea02e5d22': 212,\n",
       " 212: {'file': '/proc/134/cmdline'},\n",
       " '6b2e292c6570c8aba318178f5932ddff0740ee320cd582e8b1389153f87fe4eb': 213,\n",
       " 213: {'file': '/proc/135/stat'},\n",
       " 'c59f49327d5682f2bf77c97e14fa55bbc183ca58a9dff8b35c3536dc0a31b1e3': 214,\n",
       " 214: {'file': '/proc/135/cmdline'},\n",
       " '67f489cdfe4b04d0e8541ad7742ff815542f349cf4ab7df514ad98c9fca11a1e': 215,\n",
       " 215: {'file': '/proc/136/stat'},\n",
       " 'a82d91bd1307dd553a787346d374f4cb9004be878a69408c3eaa8f0faba6c9dc': 216,\n",
       " 216: {'file': '/proc/136/cmdline'},\n",
       " 'e6202bd60ea4f2e88a77a80b1b53c7ffce3617ff4d7101f1a693bec082275e5b': 217,\n",
       " 217: {'file': '/proc/156/stat'},\n",
       " 'c1287677b325b3505aaa30ef26a14c924ef78799312de7b9784a6fbcbb96b0bd': 218,\n",
       " 218: {'file': '/proc/156/cmdline'},\n",
       " 'e2c5450887d5138190478d974a7c8611d3095d6fcbfc585cf65578265d05e5e0': 219,\n",
       " 219: {'file': '/proc/157/stat'},\n",
       " '64c75e6b364731d8e351aa42802ee07df5f9da7bbc18c18b707a4dad963c1df4': 220,\n",
       " 220: {'file': '/proc/157/cmdline'},\n",
       " 'd33a78e92896a7df42a2fc9556ea8d3299a2a0e737c935f75087910ca2f85316': 221,\n",
       " 221: {'file': '/proc/158/stat'},\n",
       " 'a02e4c9612fc8a57728164fd3c369b6ca16ee4362bc57753cba31c6e7590c062': 222,\n",
       " 222: {'file': '/proc/158/cmdline'},\n",
       " '3284ee5bf95669c44773594714b541cda5ca4ec5e5b4bfc1ce8f6d51b581bfe0': 223,\n",
       " 223: {'file': '/proc/159/stat'},\n",
       " '49a83d003707ae9927ecdaf40e153fc47b82ce780482dcab91cd5dd4acdc7ab1': 224,\n",
       " 224: {'file': '/proc/159/cmdline'},\n",
       " '4fd5bea7d501746c61341ce6c9cc613456721c4dbef2d545a7b60b4336f33a46': 225,\n",
       " 225: {'file': '/proc/160/stat'},\n",
       " 'f0570d63902030b556c07a3ce7c482bb74f08e4f8abbcf948ad34bec6590e94e': 226,\n",
       " 226: {'file': '/proc/160/cmdline'},\n",
       " 'e76ea0379189078a04755bc50883a177308ad18e9ccee4b85384fa671494f808': 227,\n",
       " 227: {'file': '/proc/161/stat'},\n",
       " '75d2b16f6f37c8a2ff7481b3440150559fac1202ccf4abb92e7a46e79b015ac1': 228,\n",
       " 228: {'file': '/proc/161/cmdline'},\n",
       " 'ec7a43f05dde3d0027b23db2773eb9c194ddfeb09072bcefab5d7504f56753bb': 229,\n",
       " 229: {'file': '/proc/162/stat'},\n",
       " '914b5ba34939a6aea8145e5e4b8656f6dc5679af616e00b177939ada1fca0061': 230,\n",
       " 230: {'file': '/proc/162/cmdline'},\n",
       " '127255b7baab2d4dac98dd610978a4fe119c0255bc2cd01016d5e503dd71bb52': 231,\n",
       " 231: {'file': '/proc/163/stat'},\n",
       " '020da48b96f98937ae7341341896a0176c3f338d97b3eccd20742747fbeb353d': 232,\n",
       " 232: {'file': '/proc/163/cmdline'},\n",
       " '4acf16a13c262ccd60e88e25c5d29f8ceec95fa96771174da3633bb3936a9f2e': 233,\n",
       " 233: {'file': '/proc/164/stat'},\n",
       " '3ce8c203c492b684e0e57c3b2a2cd5641d29ae911521787c751c530dab0e292e': 234,\n",
       " 234: {'file': '/proc/164/cmdline'},\n",
       " '3ca8c53ca27ddfc980c33cd436cc757729fce67810d7785ba83e04ad17ac6b81': 235,\n",
       " 235: {'file': '/proc/165/stat'},\n",
       " '89008315ad37d5c94079607869575a8c1a6c2bd9d1a23c5a03cfa29c91666281': 236,\n",
       " 236: {'file': '/proc/165/cmdline'},\n",
       " '4f31a88fcd9ba6955172b7fdf9a64100209248e19a4b5d13975d7b1c4f96b3fd': 237,\n",
       " 237: {'file': '/proc/166/stat'},\n",
       " 'c3d04517110e2ed7981ac729f274beb4f03b439d8d6e2ecf9b76d2ca0ab0d6d1': 238,\n",
       " 238: {'file': '/proc/166/cmdline'},\n",
       " 'c4b354978dcce45efb5253c2e4b21e68694bc084bb3087fd490aba0115fc1ba2': 239,\n",
       " 239: {'file': '/proc/167/stat'},\n",
       " '6b30693e9a4777fef084d66ed94aa817acc402a2dfdca5da7f3a4ef5f59adb7e': 240,\n",
       " 240: {'file': '/proc/167/cmdline'},\n",
       " '3412fa5a9039ab032a4228edcf33e5b90211ca9973f051c9f14689422b1148da': 241,\n",
       " 241: {'file': '/proc/168/stat'},\n",
       " 'cf5226d57d3645480e1f61b7c0d62c13e8d79d449caee8d749293755f855784d': 242,\n",
       " 242: {'file': '/proc/168/cmdline'},\n",
       " '1a5926c8f1a3ff62248b8564704db9fe15fc5170a3b970392368262e325288ef': 243,\n",
       " 243: {'file': '/proc/169/stat'},\n",
       " '8fd96797dca114b0334f95c47ef3caf172bda2dcb39d577d6b0db78211d591b7': 244,\n",
       " 244: {'file': '/proc/169/cmdline'},\n",
       " 'b2850e1024fc9bd49bfa1ca3fc17219526306ea0e307489c11453512add3bc39': 245,\n",
       " 245: {'file': '/proc/170/stat'},\n",
       " 'f3bda472c91bdb2c4e59c49032c4f60eac00a23ae86a6d54068aa706897e51e3': 246,\n",
       " 246: {'file': '/proc/170/cmdline'},\n",
       " '426d949e87fc7bba40c48a8a4fb1a90fdd8876dea0d213476406389b2e604d8c': 247,\n",
       " 247: {'file': '/proc/171/stat'},\n",
       " 'ca1ceb8ffd1f7f34633fcce802c8613a9c0f2bf9891f066efbf8ee419b9a133b': 248,\n",
       " 248: {'file': '/proc/171/cmdline'},\n",
       " '016a5dd2441810a4be9631c113f6518772029910acd1bd8e77ec54c6e37dc0f7': 249,\n",
       " 249: {'file': '/proc/172/stat'},\n",
       " '0dc395c6722280b45eb95666b1de2976afcd477026ddfaf7b46ea56aca65c706': 250,\n",
       " 250: {'file': '/proc/172/cmdline'},\n",
       " 'aaf0608b625221bbec04b94f51c25458ff23ad12f59ad5edf4a975c828bddf01': 251,\n",
       " 251: {'file': '/proc/173/stat'},\n",
       " '33c79e1fda2cd568679aee2e9f5e3ac8d207874ce2af270abf93b80858e74e73': 252,\n",
       " 252: {'file': '/proc/173/cmdline'},\n",
       " '6332086aaa775a157dd57c87d18791233d33e806bae28e576e970706d58c8500': 253,\n",
       " 253: {'file': '/proc/174/stat'},\n",
       " '50470fc33a112b747f0fbb7271e1d5c2d606b280ef983545000a9dfa669885f0': 254,\n",
       " 254: {'file': '/proc/174/cmdline'},\n",
       " 'c26bd0374769f14ddf460ab89ff923e59874d91de0c515ac6b35a0eccd5071eb': 255,\n",
       " 255: {'file': '/proc/175/stat'},\n",
       " '6128c685adb3729eda27dd9021ef69963b688b623df6a5be773a8c4d3f005199': 256,\n",
       " 256: {'file': '/proc/175/cmdline'},\n",
       " 'f4b7438b85dce884a9a455618f0b0093cada6780be5afc47fdd04297da31386f': 257,\n",
       " 257: {'file': '/proc/176/stat'},\n",
       " 'f8b0337c1212acd6d27a90f5e5052c2df5152362ea07dfc1f37d4d2f29bd3f82': 258,\n",
       " 258: {'file': '/proc/176/cmdline'},\n",
       " '4b086fcc21a77f2283ff81c7e1ed8d3ac87fe0449ccb3d7a923b0216bc0e4d4c': 259,\n",
       " 259: {'file': '/proc/179/stat'},\n",
       " '651f170d874502395159814f3d5f0f27ac059e8145fc40f25dd65f1f0237eac6': 260,\n",
       " 260: {'file': '/proc/179/cmdline'},\n",
       " '8c6cf5ea7b3723a21a3af4a7c7377927f2b54b63eda4de524e91762073e73359': 261,\n",
       " 261: {'file': '/proc/182/stat'},\n",
       " '0712a6de6950be47fe30e4089ac8c04d04ffa5f6674396c097f8e871e0d1e38d': 262,\n",
       " 262: {'file': '/proc/182/cmdline'},\n",
       " 'dffda68cd498ef694d12ac0c05aadd8680d2aca7fc01e3934649c317fb255a3e': 263,\n",
       " 263: {'file': '/proc/183/stat'},\n",
       " 'fa85fdaf3843d2184acf48c990011dae2d48faac057fa8b102770a3c52fc145e': 264,\n",
       " 264: {'file': '/proc/183/cmdline'},\n",
       " '1ae0c4cea721ff438f9480d51a50e1bc2d6876a3083ffc829853c0c9a768ed1f': 265,\n",
       " 265: {'file': '/proc/184/stat'},\n",
       " 'ad90c353f9971554537d4794438ef8561f28af2a4c13d7ae693e5f9fce153c0a': 266,\n",
       " 266: {'file': '/proc/184/cmdline'},\n",
       " 'c78cb324eda09590bdb1610d9b56ec8c16fb15b88707ea3437d8015d8e1abac9': 267,\n",
       " 267: {'file': '/proc/185/stat'},\n",
       " '55c44918f3c89c849ec5cf635d7aa927f19ea42bf4192fdd5aeb2f2c11c38a8f': 268,\n",
       " 268: {'file': '/proc/185/cmdline'},\n",
       " 'b828c0f6d926a7b7de761c597918526d78454ec3fc0e559114c47c3c02ccccd8': 269,\n",
       " 269: {'file': '/proc/186/stat'},\n",
       " '3742ae838c626aa5dcf1025255f7b3d5ffddc451c42b549e66a3c11e2701192e': 270,\n",
       " 270: {'file': '/proc/186/cmdline'},\n",
       " 'c1ce6ef61660909edb24cfbc52261ebc2a3981886653ceeca369164769576a78': 271,\n",
       " 271: {'file': '/proc/187/stat'},\n",
       " 'd8f5f675e64b693f3688e03e0a6432ba433e093014a93d4510f7be77e72e8bab': 272,\n",
       " 272: {'file': '/proc/187/cmdline'},\n",
       " '732b53bf1aa99144ebad1d2661e9d7d0f6476c1c92a309b90ce5513c123f77d2': 273,\n",
       " 273: {'file': '/proc/189/stat'},\n",
       " '318462784d1a1aa63bf95053ec7c70bd4343556df96c021cc762b7a857b7c424': 274,\n",
       " 274: {'file': '/proc/189/cmdline'},\n",
       " 'e6e3974481023a03303a4676528fa3b21a9bdb59c76efbdc222a466c8a9815d2': 275,\n",
       " 275: {'file': '/proc/190/stat'},\n",
       " 'e5e01c10b5b123c91b6defe28a2e18a8fdfd6f4811bd9a21bca93deb9ed84323': 276,\n",
       " 276: {'file': '/proc/190/cmdline'},\n",
       " '7b0abca0ceb06ef5e4d4a03345d60661335bf057f23aeecf8842b93810e2f20e': 277,\n",
       " 277: {'file': '/proc/193/stat'},\n",
       " '05e8479b6d5eda73bba6aee74a0334426cfcdd33b42999fd8327102987903cb5': 278,\n",
       " 278: {'file': '/proc/193/cmdline'},\n",
       " '1588e04c4a399ae3ce6d78e26d3ec2f77a0fe1f60f4393a4f932a64c0ea3747a': 279,\n",
       " 279: {'file': '/proc/194/stat'},\n",
       " '049cc148a1b38127ab8dd6024477fa28854988383af04cd5212a72f861e616a3': 280,\n",
       " 280: {'file': '/proc/194/cmdline'},\n",
       " '8df4d7ee87bf7d7f269195d7190b6bdbfed55153b7694f7dd4104f880cdd8dca': 281,\n",
       " 281: {'file': '/proc/195/stat'},\n",
       " 'a2024d999b9e4f0f436f7efa2c445f8c3ae5cfbc067dafb3a756ebc62ae8202d': 282,\n",
       " 282: {'file': '/proc/195/cmdline'},\n",
       " 'b7389b75fbcff493f5a10e19a6daee8560b886c937480b650651103d1af1a73a': 283,\n",
       " 283: {'file': '/proc/196/stat'},\n",
       " '05a739829666cccac1dc84c8c33261512f303d1f9d516ff89ac438809a932617': 284,\n",
       " 284: {'file': '/proc/196/cmdline'},\n",
       " '48bf79d3e5709cbb935451c1decb88aa0ed2c0e75d778d530b4f72ff935445ce': 285,\n",
       " 285: {'file': '/proc/197/stat'},\n",
       " 'd938cb81ae707521ac041e6c5e7a9f098445015e150e6b90685b91ba7035d942': 286,\n",
       " 286: {'file': '/proc/197/cmdline'},\n",
       " '1e04ba232774ed9952703a18e018497c952f45d5aefdfcc77ea51c6c7c8df93c': 287,\n",
       " 287: {'file': '/proc/215/stat'},\n",
       " '496fdd5c42003a504b5e33231920cd6f0e0f795b4763cda4726f8f35d963f928': 288,\n",
       " 288: {'file': '/proc/215/cmdline'},\n",
       " 'e2f5d80f5df6e187973190792d18d0b3eb23b280a86f2b30216bb39922f3f63f': 289,\n",
       " 289: {'file': '/proc/216/stat'},\n",
       " '1ead97f031397a0ff7cbffc0f2375a17416d2fa69532cd535934bc09f149c454': 290,\n",
       " 290: {'file': '/proc/216/cmdline'},\n",
       " '29acb9fed4118096ec6662a9cd9cfba3d4937a730c8d160f9996370a05bd1e28': 291,\n",
       " 291: {'file': '/proc/217/stat'},\n",
       " '25bb94fd45b79c7993957783ffe4901e39a0617275b9d7e6066c74e455a2ad66': 292,\n",
       " 292: {'file': '/proc/217/cmdline'},\n",
       " '9cf5ef83d6491ef37f031bea25171373cab3b5e487f37edbd3988aab37255207': 293,\n",
       " 293: {'file': '/proc/218/stat'},\n",
       " '7c4c0ff8e8e2760db9c72e23cd282602758d01e7a94643a68b99f17b3472a981': 294,\n",
       " 294: {'file': '/proc/218/cmdline'},\n",
       " '920069931817d377239358fedb5e4e4cef9df0c36f7f09a7235d92736f4533b2': 295,\n",
       " 295: {'file': '/proc/219/stat'},\n",
       " '01c24256f2e675471a46fca879e216befd8c52eb6f0b1362ac63c15383cee2b3': 296,\n",
       " 296: {'file': '/proc/219/cmdline'},\n",
       " 'eedb010583af22df00b14afbb11d652334e067e6273f29ec777938ed6ec75734': 297,\n",
       " 297: {'file': '/proc/220/stat'},\n",
       " '250efddf791c960b8b61f15774b8c8694f4566a78cb164b88309844738d1409a': 298,\n",
       " 298: {'file': '/proc/220/cmdline'},\n",
       " '7fcef353cd83a2e8eb30c1d0aaf31cd4381348a9478177e2e2c5e4f68561a77e': 299,\n",
       " 299: {'file': '/proc/221/stat'},\n",
       " '3022448d206956fbf7e7dbcec2ab37e2663cd3e29947e5156cf9bcd4abb3be8b': 300,\n",
       " 300: {'file': '/proc/221/cmdline'},\n",
       " 'd1dccb7bbb81e8ed1746db1335087dc1bdf3c7d6a5f566f2aeb2bef9cbd95a8a': 301,\n",
       " 301: {'file': '/proc/222/stat'},\n",
       " 'fbb62193ab659263f6a0c17d29cd022ce3392d214f389ec82e980a4d78b05407': 302,\n",
       " 302: {'file': '/proc/222/cmdline'},\n",
       " 'bb99c239a923263e85f6b7a48b1f6e88c875af8a77467c6cb230a1d00cced5e6': 303,\n",
       " 303: {'file': '/proc/223/stat'},\n",
       " '39551da1a559c60942dee1c2ba8378038d6b53b4bef4dbbbd430ab00193329fb': 304,\n",
       " 304: {'file': '/proc/223/cmdline'},\n",
       " '1072b1d26de83ad5d5f5eedba9aa84cfe669b387c4558cd832bc4b247aebff76': 305,\n",
       " 305: {'file': '/proc/224/stat'},\n",
       " '8022c5a3123b457ff8b133e5981097cbcf541a390e8d69f35da4f00de2fc0143': 306,\n",
       " 306: {'file': '/proc/224/cmdline'},\n",
       " '1c7695afa0657a63f29e0e97a48b6f3c43dde1ff3a83afbc19fa25be831204c5': 307,\n",
       " 307: {'file': '/proc/225/stat'},\n",
       " '4d2b0a6bef9f329b6a07a151cd293893a4aa62f5c834be43853145c757ff7c91': 308,\n",
       " 308: {'file': '/proc/225/cmdline'},\n",
       " '3cecfa2f4df29b6470524c41841d5cb26beb67b5ec9a67fb206d91c4629673d2': 309,\n",
       " 309: {'file': '/proc/226/stat'},\n",
       " '6230415a7b6684d244bece81c2bdf5928e0f57c0bd87478e78c18548de1dfc1c': 310,\n",
       " 310: {'file': '/proc/226/cmdline'},\n",
       " '2b3976c32545a5228f72a8f57d9aaf690232b84eaa9d0ec9257ac43e01334d98': 311,\n",
       " 311: {'file': '/proc/227/stat'},\n",
       " 'c823e605b7fb18780bb621273fc638bfcec432a255c0db86b1c011f26ffab66d': 312,\n",
       " 312: {'file': '/proc/227/cmdline'},\n",
       " 'fef12ae295e4176bf7ec79c70f01e3c4f5d3add70b4bd50036303ea68473ce80': 313,\n",
       " 313: {'file': '/proc/228/stat'},\n",
       " 'ec75d0568b3eebe3887300cdb3f6ba051385452622dfe87901f3422045befb6f': 314,\n",
       " 314: {'file': '/proc/228/cmdline'},\n",
       " 'ee13ed5d09f0dd12a2f52349cfc42f51ebf7e9720f95c61b1c2259eb67321d3b': 315,\n",
       " 315: {'file': '/proc/229/stat'},\n",
       " 'bb5ae5b5bb4b6bff33a515299e7bf914e45c383d29110a0455b6cecd4da43993': 316,\n",
       " 316: {'file': '/proc/229/cmdline'},\n",
       " 'b7103bbc2cc3edaf53b13f9a76583f320beb647052c44af5a75c6a9a2ce36d7b': 317,\n",
       " 317: {'file': '/proc/230/stat'},\n",
       " 'd7b4fc25c34a0378ab5d8461740302641ae9b90672347794415cf84fe9f457ac': 318,\n",
       " 318: {'file': '/proc/230/cmdline'},\n",
       " '8d78d7b5a788068b0b0303c64532a3a722f8a6aec8452504128d42e6ccc353e3': 319,\n",
       " 319: {'file': '/proc/231/stat'},\n",
       " '73f863b2f9a566d5eba535db2353315e060ab83b1c1d199e44128d0a11fb6f0c': 320,\n",
       " 320: {'file': '/proc/231/cmdline'},\n",
       " 'eec657799b216c15a27d1b96775571b1a37debc5a8b333e42c7e2ead46c9fbee': 321,\n",
       " 321: {'file': '/proc/232/stat'},\n",
       " 'd58400f5fa5053e490f8361c37bd4f3e8ea0574efa783ec45e7d200e67867857': 322,\n",
       " 322: {'file': '/proc/232/cmdline'},\n",
       " 'c204fbad88dc1b9292e36be357e7138d2723c8cc05d89fdbbda9300ebfc31ba5': 323,\n",
       " 323: {'file': '/proc/233/stat'},\n",
       " '4ef8c99c83a4406fcac3e1ab3e5cb32b399c4f3e2ea72ad20cf31e724d267a9c': 324,\n",
       " 324: {'file': '/proc/233/cmdline'},\n",
       " 'e5bde6711f569a43dab00e0f6f5a3ad06c637049d203893bbbaf9bdb3523eb48': 325,\n",
       " 325: {'file': '/proc/234/stat'},\n",
       " '4360accd59d5a1bdc16468051029034864e1348bab23d528cd9991c46a507e76': 326,\n",
       " 326: {'file': '/proc/234/cmdline'},\n",
       " '86ec930eb6c4bc812a8541cddaac45971206e5ee295859aa21f06bd8f4b3ea28': 327,\n",
       " 327: {'file': '/proc/235/stat'},\n",
       " 'e8be01d993c1e23af2786bf741dfc090a48474b875f06746e2fe19ad573a7ec2': 328,\n",
       " 328: {'file': '/proc/235/cmdline'},\n",
       " '4e5dfdee7cad2ffd02df92325209b46aeb6da54d8452ff88456da8e92953e20f': 329,\n",
       " 329: {'file': '/proc/236/stat'},\n",
       " 'c0f12030e14dcdd4ef9a3440ba1de79d629d45d942e82222d1269d87bd10b49c': 330,\n",
       " 330: {'file': '/proc/236/cmdline'},\n",
       " '7f088d9b15bc3b7ebb40fe02e4e45cf415a19192cf26f8c2a0f9a03093082684': 331,\n",
       " 331: {'file': '/proc/237/stat'},\n",
       " '01fee55df32bff2e8f242f22a81a9525fd56e4ae5bc08729e47042cf4603673d': 332,\n",
       " 332: {'file': '/proc/237/cmdline'},\n",
       " '02dc1bdd8206b2a14ab30d0aa7c8f3b24dc915cc0247b25d67c741ae82defbdf': 333,\n",
       " 333: {'file': '/proc/238/stat'},\n",
       " 'c74a153602ba0a1b8231dac8d7aa6d5b58003aeae3c52dabad959054ae335ae6': 334,\n",
       " 334: {'file': '/proc/238/cmdline'},\n",
       " 'd2c500f701cfd7306665b0e8015a08e42b5518f3f60554c8fe461e954c3d2b7a': 335,\n",
       " 335: {'file': '/proc/239/stat'},\n",
       " 'aa341ba3495fe7e4fa89de2b7699d7e3e2d3a282254a6f01e03c2f1652ce9a4d': 336,\n",
       " 336: {'file': '/proc/239/cmdline'},\n",
       " 'e2cbb22a05635044f1cfd2a1856882647bf9b23cdad587ec96583fe065dd24b6': 337,\n",
       " 337: {'file': '/proc/240/stat'},\n",
       " '181e7f7c55cff53b9daf041c1bf481a7802bf1701346b5d3476a5fb0153eb43c': 338,\n",
       " 338: {'file': '/proc/240/cmdline'},\n",
       " 'd95e3ef655fee745a4f11e6dcf82526eae31dd2eb62920382a2360e1726efc32': 339,\n",
       " 339: {'file': '/proc/241/stat'},\n",
       " 'f11e4b4ef580e1d8c25d0911d36355f768888378ca0bbedc0bd4c5f4c9a82445': 340,\n",
       " 340: {'file': '/proc/241/cmdline'},\n",
       " 'f1e31204aff6948cfb0973520bc6741cf84be799b695bcdb11607eb5bc2da700': 341,\n",
       " 341: {'file': '/proc/242/stat'},\n",
       " '0fed37c9e509786985d21a01ecfa84c39a8b09c829f23ea0646a9c4672509d5b': 342,\n",
       " 342: {'file': '/proc/242/cmdline'},\n",
       " '68cebc302368a187292b58b6f586558bfa7b6c6753560eab83603994429778ec': 343,\n",
       " 343: {'file': '/proc/243/stat'},\n",
       " 'a9e3e0a4eaca8f30b3d34aba99a115a41232a6ce19c0ab64f7fa91478fbdceeb': 344,\n",
       " 344: {'file': '/proc/243/cmdline'},\n",
       " '55fbb63483108ffdc593ef16b44bfa62c050e73183e4cab9e5a581ff16ea406f': 345,\n",
       " 345: {'file': '/proc/244/stat'},\n",
       " '5fbcb34b59ef5003dda3af37cd5234424970187767d054ebbf2dd9450fae050d': 346,\n",
       " 346: {'file': '/proc/244/cmdline'},\n",
       " 'f0fb8892ddbc34aa8cceab470b895a1e773268b48861b5872862a311cd013de1': 347,\n",
       " 347: {'file': '/proc/245/stat'},\n",
       " '906dfb92f9a75a9f971652956bdca454a9f6cf6484fdd65c402fd8a6a497b421': 348,\n",
       " 348: {'file': '/proc/245/cmdline'},\n",
       " 'f6f8468252eb1bd589503c510b4acc9dc5481b5741d72ff5364fce73ae9a8e08': 349,\n",
       " 349: {'file': '/proc/246/stat'},\n",
       " 'd2ef65a2d81a5a7d165e2eeba61e16e31dc210725e278173682dde3520e456fd': 350,\n",
       " 350: {'file': '/proc/246/cmdline'},\n",
       " '1726b4c998d5af29695980b47e331c79c1f92afd5e43d6f95b37fa776fb94e77': 351,\n",
       " 351: {'file': '/proc/247/stat'},\n",
       " '41fdc22f158955c75bcd597622a987a1efc9e36ec395d08f0d782cc7ef90dd0c': 352,\n",
       " 352: {'file': '/proc/247/cmdline'},\n",
       " '771a79682a03fc44a0acc3cf33d018c112b02bd8ab0bac7d4f3331ca8c6229b8': 353,\n",
       " 353: {'file': '/proc/248/stat'},\n",
       " 'b97c664279f507ecd94056d6ff2a0a994e3087312ff157ad0b6eeb7147f53783': 354,\n",
       " 354: {'file': '/proc/248/cmdline'},\n",
       " 'd6e86e2e03485f97ec1a6972e5e9e4db3e4daa580af52a98dc2faf61d937c7d4': 355,\n",
       " 355: {'file': '/proc/249/stat'},\n",
       " 'a79965f73befd2fd766b12bf3840b1151341c2f9135089cb82b89cb29cf33f6a': 356,\n",
       " 356: {'file': '/proc/249/cmdline'},\n",
       " 'aa6c0692424f8210d833d3a36731ea701ee3c736da40d7f8426b06013037307b': 357,\n",
       " 357: {'file': '/proc/250/stat'},\n",
       " '5ce67e8d327eb4b30ca826f80977d907f7c5c1a251e52eac03f8528af863c9cf': 358,\n",
       " 358: {'file': '/proc/250/cmdline'},\n",
       " '4798e313bfbdde4e8ff62415d8952558c56beac30e9e984fb3fcbd82f6d66c5c': 359,\n",
       " 359: {'file': '/proc/252/stat'},\n",
       " 'cf2725f94215db3b7f0c406f43a67f2c7bbc4d97ca33c5d3d9bc8eee9d9e871b': 360,\n",
       " 360: {'file': '/proc/252/cmdline'},\n",
       " '66bf9e6b90403935c34dc4184b760ea4216a4014b5cd9ee17bc9e2a05fa96bf5': 361,\n",
       " 361: {'file': '/proc/253/stat'},\n",
       " '896ac5ab9c8cc7c81cbd6984568086ed532e992c445c70a50ac9c2196ffb1f81': 362,\n",
       " 362: {'file': '/proc/253/cmdline'},\n",
       " '5e7b7b6c3c1e38744cac8c91925e2f3696280641549f8728d0fc913f253ba187': 363,\n",
       " 363: {'file': '/proc/254/stat'},\n",
       " '4a63b3d2f8f6a8a70bad486e545f728a786f8128281ddd29a2ac4c9bd56ef191': 364,\n",
       " 364: {'file': '/proc/254/cmdline'},\n",
       " '9cb0d8e3bdd08e6f89934484c0b9f4652bac2201c01348e715513675a073c4a4': 365,\n",
       " 365: {'file': '/proc/255/stat'},\n",
       " '542181a61ec20a5b317bf8e0a313d21ce78e58cc4985019980a37ba963d52fcc': 366,\n",
       " 366: {'file': '/proc/255/cmdline'},\n",
       " 'c2a43bfc826ec41fda99d39130df7cd7e9a86f74b935ca7da7560d462768f9d6': 367,\n",
       " 367: {'file': '/proc/256/stat'},\n",
       " 'fbe56baa1648837aed2fdfdc743ee2030af8749184cc8ccc17d6f4d518c08ebc': 368,\n",
       " 368: {'file': '/proc/256/cmdline'},\n",
       " '3b7f4e2572abf07b76a4e294d697bd8e6cb28f618fe7edc81e7a55152337a1f9': 369,\n",
       " 369: {'file': '/proc/257/stat'},\n",
       " 'bd0aa3697b36c04926da6d1f905edbbea28a28749fc34cd4323ae152806abe66': 370,\n",
       " 370: {'file': '/proc/257/cmdline'},\n",
       " '3d183328f69fe02ee4b8a7336e74fae2f8ab9b16484022cbfb37e69857709102': 371,\n",
       " 371: {'file': '/proc/258/stat'},\n",
       " '643be84ff329770d0e0fd571c225a931e6860adaf3955c0e2e4ab730cd05b328': 372,\n",
       " 372: {'file': '/proc/258/cmdline'},\n",
       " '9141e247587217e46352a8cddc6598eba3d1a23783d4abd67e89173b66531fd2': 373,\n",
       " 373: {'file': '/proc/259/stat'},\n",
       " '3600694c23fd50c6b7877acc0585b1d996325954bdfdf2a71cb82d7093300cf8': 374,\n",
       " 374: {'file': '/proc/259/cmdline'},\n",
       " '17a2c51f70ae9187696333c65f38cf68d6651d6c04089da90cf53be59c921fd1': 375,\n",
       " 375: {'file': '/proc/264/stat'},\n",
       " 'ca59c17e9578a436790d2551ae3c3f6d67de83cd2d42c430d5816891e208899c': 376,\n",
       " 376: {'file': '/proc/264/cmdline'},\n",
       " 'ced95b200f403d9368bbd754229bcc177bb3fc7d96d4fed586c673fa3740a8cb': 377,\n",
       " 377: {'file': '/proc/270/stat'},\n",
       " '7e745c197b442d97ae9e479e08b3196175569f445217510cff0d02c30e0b3e06': 378,\n",
       " 378: {'file': '/proc/270/cmdline'},\n",
       " 'a93a2fd1773d002b87a60925e6b09f9c4badd705fd8506a94d14d68192a314e3': 379,\n",
       " 379: {'file': '/proc/271/stat'},\n",
       " '76cbc6825711477e8efccd8d6dab50393b87f5da65968f1d71d03115185c006a': 380,\n",
       " 380: {'file': '/proc/271/cmdline'},\n",
       " '6211304f2caed3962e31e6bf9bb06666fcb6773334ec8257dc548e7a1299fdac': 381,\n",
       " 381: {'file': '/proc/272/stat'},\n",
       " '4cdbd473e570600649e988e2f5226400de3e199f4a966b0e738e9f5c7edd1172': 382,\n",
       " 382: {'file': '/proc/272/cmdline'},\n",
       " 'a8a21dd4050374b5d653a4ccccb5763e65fffcc9cb649664e6ac0836291ebc47': 383,\n",
       " 383: {'file': '/proc/273/stat'},\n",
       " '011a0b7fa9a2fca81d9c403ba456ddf8a418f1eaefc9c11c0d52e5f83af25997': 384,\n",
       " 384: {'file': '/proc/273/cmdline'},\n",
       " 'a3bc88ed58619a8a99be0bd73be1146a7f0661b5274692d7343498f434a230bd': 385,\n",
       " 385: {'file': '/proc/277/stat'},\n",
       " '7a80a3a493bc3068d8087d45537b2ebf2e59ff5c02f1251a69c782f7180b7450': 386,\n",
       " 386: {'file': '/proc/277/cmdline'},\n",
       " 'e6488ba4421373e87c15057d67e5ddada885ba14ca4c7d838fe38d68c5dda61a': 387,\n",
       " 387: {'file': '/proc/278/stat'},\n",
       " 'd28529657460814bc6eddd6a72f7f7b14eb4b6a5eaccbddf1fc8a977dac71c17': 388,\n",
       " 388: {'file': '/proc/278/cmdline'},\n",
       " '825cce4efbdbfa171f2722639e90a8359b0f9a9076f35a9e09407ff50c41f1b9': 389,\n",
       " 389: {'file': '/proc/279/stat'},\n",
       " '1b5651b1f1e3aa1861c296dcaff7a6573bcb92ca9b68ee286aacfa554443aef1': 390,\n",
       " 390: {'file': '/proc/279/cmdline'},\n",
       " 'be201a034e4035513b1f2155b938acaab8c05c752b9adc6f1857356d7e25c42b': 391,\n",
       " 391: {'file': '/proc/280/stat'},\n",
       " '474621001b835f87a222342b84ac6f4c7a125aa97455582ffb577ac2969e697b': 392,\n",
       " 392: {'file': '/proc/280/cmdline'},\n",
       " '6c7de5885107cb91f22427e7b5b17933c5cf6a6515f8a4f45e7b7c215458ad6e': 393,\n",
       " 393: {'file': '/proc/281/stat'},\n",
       " '0b774f8947b4064250272a9d69922a16cd170ce33116e44b27a4d4d2fd1762f6': 394,\n",
       " 394: {'file': '/proc/281/cmdline'},\n",
       " '7bb8828643107d8064a0a2907a2f6387b801ae95790da9886d91eb476cbab346': 395,\n",
       " 395: {'file': '/proc/287/stat'},\n",
       " '65995f1bdfbea5eaef846e7fd846f8363bbf0899119f80930120fc5a98090f9c': 396,\n",
       " 396: {'file': '/proc/287/cmdline'},\n",
       " 'ec23d1684106dab13949fbf1a24ec1dc24067650a7da18027347abd175219bf4': 397,\n",
       " 397: {'file': '/proc/293/stat'},\n",
       " 'a21ce913aae9326165f93d5cb49d03ff3707944cc0ecb6d4392f7cc26ca7ec41': 398,\n",
       " 398: {'file': '/proc/293/cmdline'},\n",
       " '652b2084fbe2051a74a2d5dfc21e50595426f7435012be037d50d63a110e8d67': 399,\n",
       " 399: {'file': '/proc/304/stat'},\n",
       " '0ee85bcc660aebf61e4e6a0ca2585251ad9cf26b31d844975699d045f59cfa80': 400,\n",
       " 400: {'file': '/proc/304/cmdline'},\n",
       " 'fd69b2d164e68a2e3f7f2e9692caae73a5ce60bd35af5740f23e2b9fa1c40b7c': 401,\n",
       " 401: {'file': '/proc/305/stat'},\n",
       " 'aa4b201e92f8a816ff290fb7e07f4d0bbabdaf30613ac295b0da7ebb32b48eaf': 402,\n",
       " 402: {'file': '/proc/305/cmdline'},\n",
       " '81e135d0a4ff2742e94b342a85345b55932e1a36ab0e6b938ae70710e56e58e7': 403,\n",
       " 403: {'file': '/proc/306/stat'},\n",
       " '29b9d5b33f333269201f5d4da2b4b22a7fae90719c2eef6428a25be2c9b5a960': 404,\n",
       " 404: {'file': '/proc/306/cmdline'},\n",
       " 'ec7dca27498b391218701550d8f40e16b5e66396fa6cafb3d1deb0925ff8fbd5': 405,\n",
       " 405: {'file': '/proc/307/stat'},\n",
       " '52e0dd5b09919c08053aae3ce2c698fe5a8214148e9b87acc3f62311be1c892f': 406,\n",
       " 406: {'file': '/proc/307/cmdline'},\n",
       " '1e60d17977e2c89d3a4d4723552b63cc308653d2dcb5916a1b7ea5b13864485d': 407,\n",
       " 407: {'file': '/proc/308/stat'},\n",
       " 'ce2290cdf361e73da0e200ae2f0f0cf02115a68b7ca08b6175f9093105d9d668': 408,\n",
       " 408: {'file': '/proc/308/cmdline'},\n",
       " 'fb538a1b16ac5315bd34b4acb0478767dba38f06d232dd0a265c419702fc3446': 409,\n",
       " 409: {'file': '/proc/309/stat'},\n",
       " 'b89075c0bc627fa1abacefeeb3e78ef4d6725064cf7411834ce7f8126fe179a4': 410,\n",
       " 410: {'file': '/proc/309/cmdline'},\n",
       " '4f3d0d827bbc39278ad9c56aa20b1765080da69252034429b5d87115cd549a57': 411,\n",
       " 411: {'file': '/proc/310/stat'},\n",
       " '98546ba8e4ba606c28471e27e43d2c71e730924c19c9ebdf7f52c21d7de69d03': 412,\n",
       " 412: {'file': '/proc/310/cmdline'},\n",
       " '8170bd7e21074addd9062d7be39156f4caa2bdd2c3c763fb66f2a51fb32f67ad': 413,\n",
       " 413: {'file': '/proc/311/stat'},\n",
       " '2bf679ba0b691ce7924a2f332808357be885f8cec66469cd9aeaee6a2f243ad5': 414,\n",
       " 414: {'file': '/proc/311/cmdline'},\n",
       " '33dcf345137b475740bf8d714fd9c1daf34ac915dc3de8f01b6095bb4f8f5f57': 415,\n",
       " 415: {'file': '/proc/312/stat'},\n",
       " '30e9f40f689505dee6a624573dbdde1cdb4734b148da30baaff5c1170f061e2b': 416,\n",
       " 416: {'file': '/proc/312/cmdline'},\n",
       " 'ef4b31671cbbe34870ede2f07fe10a6c09c1829945fef3b8018b5b79f11ce198': 417,\n",
       " 417: {'file': '/proc/315/stat'},\n",
       " '51443348aeda96376cc61d7ec9062d8d8b0ba3b5117136b72df9500228a182be': 418,\n",
       " 418: {'file': '/proc/315/cmdline'},\n",
       " '5a000cdae1461a2d52ab290d9b5cdd63de93ff4137b066bc0f3de551552f4d5b': 419,\n",
       " 419: {'file': '/proc/328/stat'},\n",
       " '744f3bb8b100c31b449d477fc9a92567be8fd24dfae7c947484c20aea342cf9e': 420,\n",
       " 420: {'file': '/proc/328/cmdline'},\n",
       " '3ea69bfa044151da30187b3e3ddd1edfed708855d52726549748c71ae5a09129': 421,\n",
       " 421: {'file': '/proc/329/stat'},\n",
       " '18a184b55bbd220772491cb5836cdfb192f1a9c728aeb816b73fc5e526f4c15a': 422,\n",
       " 422: {'file': '/proc/329/cmdline'},\n",
       " '4748405264fed8c4a7afd73f310905621030b4461a92016467e3c63762347b71': 423,\n",
       " 423: {'file': '/proc/333/stat'},\n",
       " 'e48badbd5be53e7c232a6f86f514d668efbc02fbdc807152e6d9bda4f9c65344': 424,\n",
       " 424: {'file': '/proc/333/cmdline'},\n",
       " '747f38fc9f8832d092ce9befe3d347cb8185079094911fb0e42388ff7dc02be9': 425,\n",
       " 425: {'file': '/proc/353/stat'},\n",
       " '785dba96ab6eb535960d8bf9757a5d133d98cfcceb4f9961566d31112eea9000': 426,\n",
       " 426: {'file': '/proc/353/cmdline'},\n",
       " 'b26578a7833aea6e457c392eed28533188015dc4cc4383b2bfe83d64c6fb80f9': 427,\n",
       " 427: {'file': '/proc/360/stat'},\n",
       " '35950b85df30546c4c1fcd08689a807dd27d1398c8b74636f54332541ef990e9': 428,\n",
       " 428: {'file': '/proc/360/cmdline'},\n",
       " 'ae111f6a66069691144efe277d29eeb1d4e98c27599abcede6d5412b7aa659f0': 429,\n",
       " 429: {'file': '/proc/361/stat'},\n",
       " '0966e8dcdbfdf7533cbed800c4ce6aadf3126002b122ee6d7c95c94f4dd11386': 430,\n",
       " 430: {'file': '/proc/361/cmdline'},\n",
       " 'd9e81e8872f0d0e5ab5a9225a2e325d69db745d9e8237017b59ca175b91ae5ec': 431,\n",
       " 431: {'file': '/proc/365/stat'},\n",
       " '6b7a03d2acb61125661f1855ca80148793b888291312576119333c907cc4aa4c': 432,\n",
       " 432: {'file': '/proc/365/cmdline'},\n",
       " 'a5eab064c9e63d92b7866484b33a6e4f4c7b04eab863c965249b0aeb580cd987': 433,\n",
       " 433: {'file': '/proc/401/stat'},\n",
       " '6f1b6954fafc6a53f3c6cb99de88aa03ef150154b4c9156e55b35b821bc0f171': 434,\n",
       " 434: {'file': '/proc/401/cmdline'},\n",
       " '9c2449f6275c59bdf34e5db0f96fcfb56b01155a05399e7f0a417d5cf0d60a90': 435,\n",
       " 435: {'file': '/proc/415/stat'},\n",
       " 'f08a38f0bc5d8c336254cd14a919add0dee515470895a628fd7531435152ce83': 436,\n",
       " 436: {'file': '/proc/415/cmdline'},\n",
       " '44a5c5e13be0901e701f9d243e432c96bdd5ed579dfc4b368854d9b9b6a3dce9': 437,\n",
       " 437: {'file': '/proc/416/stat'},\n",
       " '6f87fe805e64630fcab369e23e92ec8b276665c55b08878833f155428fd2b26d': 438,\n",
       " 438: {'file': '/proc/416/cmdline'},\n",
       " '0fa51a7bba7d7de39041b7624ea236673095ec2655c601a4121faf0561489b51': 439,\n",
       " 439: {'file': '/proc/417/stat'},\n",
       " '8e50e3ae1543e457b7f35244bd0b05f373c6325354ac943f299de7f3f7264f16': 440,\n",
       " 440: {'file': '/proc/417/cmdline'},\n",
       " '94da6e8497a1d953b73fa4cf172fa1d691499c2b342a5a778e8e64923265eca0': 441,\n",
       " 441: {'file': '/proc/418/stat'},\n",
       " 'b091e469908a5ae348686af2267087116b368c2aa407faf4fe83b34fb0af16fe': 442,\n",
       " 442: {'file': '/proc/418/cmdline'},\n",
       " '3d9b97432552abf296437f3c15e42bd80c8c7088ffe2af5f3e3acea517576c03': 443,\n",
       " 443: {'file': '/proc/419/stat'},\n",
       " '43295e7d5f40bf1d924d137892cce4080cfdcc55b1c4f0ae8aa4b8a07eac98e5': 444,\n",
       " 444: {'file': '/proc/419/cmdline'},\n",
       " '3af330fb1588ca26334d4b55b4fcc74c3c6a9370f39dda36b2fd397b60637190': 445,\n",
       " 445: {'file': '/proc/420/stat'},\n",
       " 'f7cbb63b0740739bbfbb67e132bd9ffd5ab1989a58a0c9b1e77f4ac4a57b62b5': 446,\n",
       " 446: {'file': '/proc/420/cmdline'},\n",
       " '80bb43e4504870c0541ac154479b7f6bc54d6562868bbbdc5ac82273d1a582b7': 447,\n",
       " 447: {'file': '/proc/426/stat'},\n",
       " '3af68160f6cc1b9395ab07b0e24877b97934135cc39a614392da161a553f98fe': 448,\n",
       " 448: {'file': '/proc/426/cmdline'},\n",
       " 'cbea43281a3cb6188512b004e46829c800a71733125baecb935cb9e6eeb2de51': 449,\n",
       " 449: {'file': '/proc/428/stat'},\n",
       " '5f953417ea2817c3cca1ab99693a92319baec78c2776c1bd3cf2063d4eaf73de': 450,\n",
       " 450: {'file': '/proc/428/cmdline'},\n",
       " 'e39f1d12fa2bf250345eeb15ce6159fddff5efa69e9a41826968b559701ebb7d': 451,\n",
       " 451: {'file': '/proc/429/stat'},\n",
       " '2154b6383a8ce29e9528eade18a3aa53873ac5ac0b60fb1e9ee55f2020f4a2e2': 452,\n",
       " 452: {'file': '/proc/429/cmdline'},\n",
       " '852c2029ba018d682e12e1f0ef83f01c6d51d89e5692c9266f701f50162fcffa': 453,\n",
       " 453: {'file': '/proc/432/stat'},\n",
       " '682202d752ed330155ba593e6665d33c247d533d6b403d3ae1606de6cec1c6ae': 454,\n",
       " 454: {'file': '/proc/432/cmdline'},\n",
       " '7cbe47697df52b72242821fa88f3e57e62c267010b494e7c9c6241e920ff65de': 455,\n",
       " 455: {'file': '/proc/433/stat'},\n",
       " 'a59c8f99c81b1f54ec37a6687a795d68a8e70b17e97374cf65a042ed15b0c613': 456,\n",
       " 456: {'file': '/proc/433/cmdline'},\n",
       " '009d326589aaa778bee85bd447b209ea0c056778ef09ee99e6de980ed65486e5': 457,\n",
       " 457: {'file': '/proc/434/stat'},\n",
       " 'f848d9122807a1a79dab27d2ea61b5e93fe4270060514f5d147f09c2f06ce105': 458,\n",
       " 458: {'file': '/proc/434/cmdline'},\n",
       " 'd3b095f124ec3872b6362da2a110f24aa8f91cbe4d1e4d3dbcb301a29bcfede6': 459,\n",
       " 459: {'file': '/proc/435/stat'},\n",
       " 'b3a6f509fb9016a023d6044ed948e945a1d80210efae13d1e1dba3287641da4c': 460,\n",
       " 460: {'file': '/proc/435/cmdline'},\n",
       " 'dc16b5e468d44e74892f839840cd1ca3b21b63dc74f37cea1257f599ce9eb0ab': 461,\n",
       " 461: {'file': '/proc/436/stat'},\n",
       " '4fd717fc04ba83ef5c78f925814038e19556ae3fd68e1e720fc8b0c1f7701a40': 462,\n",
       " 462: {'file': '/proc/436/cmdline'},\n",
       " 'bbd10a6a9354182a8ccf4ba2530ba7eaea5974e5413199eb62627969644d5115': 463,\n",
       " 463: {'file': '/proc/437/stat'},\n",
       " 'cec7497cc28e2f8e8c7032b5f669520118f754a4ad97d5ae18b80f59b9384fae': 464,\n",
       " 464: {'file': '/proc/437/cmdline'},\n",
       " '8cd0cd111fa8fd700706cd7230d33692348302e38f044b18843d59ebdddf2cf5': 465,\n",
       " 465: {'file': '/proc/438/stat'},\n",
       " 'c7d84bcc38d817ba1386438739bf390286eaedb24685c00b8712f4dce225add1': 466,\n",
       " 466: {'file': '/proc/438/cmdline'},\n",
       " '189bda8a2c7a378ac00f12308dca99a9748c3db2d15a3b6ac8c952d91da04544': 467,\n",
       " 467: {'file': '/proc/439/stat'},\n",
       " '50feb166a4a9e8ecc1ac4cabedde2dd282fe4972612bb35a41bb314cd4c83627': 468,\n",
       " 468: {'file': '/proc/439/cmdline'},\n",
       " '81aaaf83997e191f4c91fc441d60141884c794e7042038e3510f8e03784defe9': 469,\n",
       " 469: {'file': '/proc/441/stat'},\n",
       " '04efe214f6c68a20f70eb4fa44191f776c02797cc62c77bd0e9b4f205c0116f1': 470,\n",
       " 470: {'file': '/proc/441/cmdline'},\n",
       " 'cf7c6a0cb2f4fc9dd9efd0482fd7f7dabf4b71e4cff7692bffe272dbcd472964': 471,\n",
       " 471: {'file': '/proc/442/stat'},\n",
       " '990518e009da943998edcd95a9d6e45a4b9697c60a0921a38e3d41ee77468b45': 472,\n",
       " 472: {'file': '/proc/442/cmdline'},\n",
       " '529fce9d657b7e6a8d2c3be70c509f531c441a1b71fdc11fcb3303004456bc59': 473,\n",
       " 473: {'file': '/proc/443/stat'},\n",
       " '8944fb406c8df45274d3dee161e2e620ba570bae1c1738550763b1ebe2b86e4c': 474,\n",
       " 474: {'file': '/proc/443/cmdline'},\n",
       " '43cae3e19165c1dcc41dea23b5e5caa0f5c78fa0d7e566a5f55448ba9cc45e65': 475,\n",
       " 475: {'file': '/proc/444/stat'},\n",
       " '31ebf3997228e6b3f2f3103b7464ee7e354c5aed045ed565163d0b1ba92bcb0c': 476,\n",
       " 476: {'file': '/proc/444/cmdline'},\n",
       " '11aefaa41c72429cacd9286676ec4710a9e6c7e3a5e5bd061d9f619c6a8ec9ab': 477,\n",
       " 477: {'file': '/proc/445/stat'},\n",
       " 'cc5af2cd67d6790267a5e63d738a9f2d6fec5974c7d4144e04b77082ffad727c': 478,\n",
       " 478: {'file': '/proc/445/cmdline'},\n",
       " '3f04a6bad0f4aa653ec97346b8d48c7ba2d2ffba23938c1b5a905938e604cd1c': 479,\n",
       " 479: {'file': '/proc/448/stat'},\n",
       " '2f678c9e26167deedc662db01913786d8d872251df4085dd9d7209c997a12eb2': 480,\n",
       " 480: {'file': '/proc/448/cmdline'},\n",
       " '213ed1b404fdde8d3858d230f780eb06107964f6e678b3c3742b12174e7c7ff8': 481,\n",
       " 481: {'file': '/proc/449/stat'},\n",
       " '3027978a3920f86ab7f8810863d5d8b950aba72e3542128415500c9b57484c81': 482,\n",
       " 482: {'file': '/proc/449/cmdline'},\n",
       " '25941b6b27091da80f17e1e273f26b1291478e3fbb216aa85be7366e27c28d1d': 483,\n",
       " 483: {'file': '/proc/450/stat'},\n",
       " '40aef1db9cbdb9bc956d380d72cc4d734da9c38e2ee1b8b9f6f3a73ed506ceeb': 484,\n",
       " 484: {'file': '/proc/450/cmdline'},\n",
       " 'cd64b55ff6caa53ce7657486ed24db6777dfc87a065059fc71b9e8dab73acb7d': 485,\n",
       " 485: {'file': '/proc/451/stat'},\n",
       " '6555925b0b9d72bdb7b9fecc0104c5cadccee0e0c1e9ca685e140f1eecc94de5': 486,\n",
       " 486: {'file': '/proc/451/cmdline'},\n",
       " 'e053f76b6bda4cbe83a2502c9cd6f7290391c8b10aee8be07cdb8290e7bd09e4': 487,\n",
       " 487: {'file': '/proc/452/stat'},\n",
       " '061bdbbc64237152d42194eed5575245fcf4b51bfae424c06514b032d1eef1f0': 488,\n",
       " 488: {'file': '/proc/452/cmdline'},\n",
       " 'fb0af5dd80312cefe2b1d473dbbbb4a63b5f0c1072f83173a1d58427656bdeec': 489,\n",
       " 489: {'file': '/proc/453/stat'},\n",
       " 'c3ce52ffe65df6bd0ff94c7a430f982b17fea19ac383c838d6f2f53efdae7ec3': 490,\n",
       " 490: {'file': '/proc/453/cmdline'},\n",
       " 'e1660eb8a9edb16ef1a35db429cd99e2b1d132bac963d8c30e8e2ea4f369310c': 491,\n",
       " 491: {'file': '/proc/455/stat'},\n",
       " '631ce238e2901ec68f5029c1c8c2c7c9b0a902611c97eede500f7f725a45ca2e': 492,\n",
       " 492: {'file': '/proc/455/cmdline'},\n",
       " '1f9a4915a93636809e1480bce488166a8c46dd6b758cadc9ebbd2c4e217b9c11': 493,\n",
       " 493: {'file': '/proc/615/stat'},\n",
       " '5813fb48292191f047391ec948cbd915c65f726d1f258cce898022c966766919': 494,\n",
       " 494: {'file': '/proc/615/cmdline'},\n",
       " '9f90623edad2f56258946b1e218ea664d751a14ae9c32037a267c7c6eddb9ab4': 495,\n",
       " 495: {'file': '/proc/651/stat'},\n",
       " '5f3a45098a945f4cd58ed28934f8542b44c3835b9ba14894b314297ad7ac2c1f': 496,\n",
       " 496: {'file': '/proc/651/cmdline'},\n",
       " 'ccf51afb4f39536d8eb11dd505b1ab25f35db85ffc5e2766cc0129e727b2f8a8': 497,\n",
       " 497: {'file': '/proc/926/stat'},\n",
       " '3939bab8f64b21add5804491524ad701afb66176c715fa8bf3556c1b7cab9e38': 498,\n",
       " 498: {'file': '/proc/926/cmdline'},\n",
       " '594252a2c5e975b26bfdc5c3d5b4fdb9e50d116acda0ffcbf006ac06026aeaa7': 499,\n",
       " 499: {'file': '/proc/990/stat'},\n",
       " ...}"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nodeid2msg"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 51/51 [17:56<00:00, 21.11s/it]\n"
     ]
    }
   ],
   "source": [
    "datalist=[]\n",
    "edge_type=set()\n",
    "reverse=[\"EVENT_ACCEPT\",\"EVENT_RECVFROM\",\"EVENT_RECVMSG\"]        \n",
    "for file in tqdm(filelist):\n",
    "        with open(filePath + file, \"r\") as f:\n",
    "            for line in (f):\n",
    "                if '{\"datum\":{\"com.bbn.tc.schema.avro.cdm18.Event\"' in line and \"EVENT_FLOWS_TO\" not in line:\n",
    "#                     print(line)\n",
    "                    subject_uuid=re.findall('\"subject\":{\"com.bbn.tc.schema.avro.cdm18.UUID\":\"(.*?)\"}',line)\n",
    "                    predicateObject_uuid=re.findall('\"predicateObject\":{\"com.bbn.tc.schema.avro.cdm18.UUID\":\"(.*?)\"}',line)\n",
    "                    if len(subject_uuid) >0 and len(predicateObject_uuid)>0:\n",
    "                        if subject_uuid[0] in subject_uuid2hash\\\n",
    "                        and (predicateObject_uuid[0] in file_uuid2hash or predicateObject_uuid[0] in net_uuid2hash):\n",
    "                            relation_type=re.findall('\"type\":\"(.*?)\"',line)[0]\n",
    "                            time_rec=re.findall('\"timestampNanos\":(.*?),',line)[0]\n",
    "                            time_rec=int(time_rec)\n",
    "                            subjectId=subject_uuid2hash[subject_uuid[0]]\n",
    "                            if predicateObject_uuid[0] in file_uuid2hash:\n",
    "                                objectId=file_uuid2hash[predicateObject_uuid[0]]\n",
    "                            else:\n",
    "                                objectId=net_uuid2hash[predicateObject_uuid[0]]\n",
    "#                                 print(line)\n",
    "                            edge_type.add(relation_type)\n",
    "                            if relation_type in reverse:\n",
    "                                datalist.append([objectId,nodeid2msg[objectId],relation_type,subjectId,nodeid2msg[subjectId],time_rec])\n",
    "                            else:\n",
    "                                datalist.append([subjectId,nodeid2msg[subjectId],relation_type,objectId,nodeid2msg[objectId],time_rec])\n",
    "\n",
    "               \n",
    "     \n",
    "                     "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "sql = '''insert into event_table\n",
    "                     values %s\n",
    "        '''\n",
    "ex.execute_values(cur,sql, datalist,page_size=10000)\n",
    "connect.commit() "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Featurization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.feature_extraction import FeatureHasher\n",
    "from torch_geometric.transforms import NormalizeFeatures\n",
    "\n",
    "from sklearn import preprocessing\n",
    "import numpy as np\n",
    "\n",
    "FH_string=FeatureHasher(n_features=16,input_type=\"string\")\n",
    "FH_dict=FeatureHasher(n_features=16,input_type=\"dict\")\n",
    "\n",
    "\n",
    "def path2higlist(p):\n",
    "    l=[]\n",
    "    spl=p.strip().split('/')\n",
    "    for i in spl:\n",
    "        if len(l)!=0:\n",
    "            l.append(l[-1]+'/'+i)\n",
    "        else:\n",
    "            l.append(i)\n",
    "#     print(l)\n",
    "    return l\n",
    "\n",
    "def ip2higlist(p):\n",
    "    l=[]\n",
    "    spl=p.strip().split('.')\n",
    "    for i in spl:\n",
    "        if len(l)!=0:\n",
    "            l.append(l[-1]+'.'+i)\n",
    "        else:\n",
    "            l.append(i)\n",
    "#     print(l)\n",
    "    return l\n",
    "\n",
    "\n",
    "def subject2higlist(p):\n",
    "    l=[]\n",
    "    spl=p.strip().split('.')\n",
    "    for i in spl:\n",
    "        if len(l)!=0:\n",
    "            l.append(l[-1]+'.'+i)\n",
    "        else:\n",
    "            l.append(i)\n",
    "#     print(l)\n",
    "    return l\n",
    "\n",
    "\n",
    "def list2str(l):\n",
    "    s=''\n",
    "    for i in l:\n",
    "        s+=i\n",
    "    return s"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████| 345446/345446 [00:00<00:00, 1686666.48it/s]\n"
     ]
    }
   ],
   "source": [
    "node_msg_vec=[]\n",
    "node_msg_dic_list=[]\n",
    "for i in tqdm(nodeid2msg.keys()):\n",
    "    if type(i)==int:\n",
    "        if 'netflow' in nodeid2msg[i].keys():\n",
    "            higlist=['netflow']\n",
    "            higlist+=ip2higlist(nodeid2msg[i]['netflow'])\n",
    "            \n",
    "        if 'file' in nodeid2msg[i].keys():\n",
    "            higlist=['file']\n",
    "            higlist+=path2higlist(nodeid2msg[i]['file'])\n",
    "            \n",
    "#             print(higlist)\n",
    "        if 'subject' in nodeid2msg[i].keys():\n",
    "            higlist=['subject']\n",
    "            higlist+=subject2higlist(nodeid2msg[i]['subject'])\n",
    "        node_msg_dic_list.append(list2str(higlist))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|███████████████████████████████████████████████████████████████████████████████| 172723/172723 [00:05<00:00, 31237.08it/s]\n"
     ]
    }
   ],
   "source": [
    "node2higvec=[]\n",
    "for i in tqdm(node_msg_dic_list):\n",
    "    vec=FH_string.transform([i]).toarray()\n",
    "    node2higvec.append(vec)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "node2higvec=np.array(node2higvec).reshape([-1,16])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "rel2id={1: 'EVENT_CLOSE',\n",
    " 'EVENT_CLOSE': 1,\n",
    " 2: 'EVENT_OPEN',\n",
    " 'EVENT_OPEN': 2,\n",
    " 3: 'EVENT_READ',\n",
    " 'EVENT_READ': 3,\n",
    " 4: 'EVENT_WRITE',\n",
    " 'EVENT_WRITE': 4,\n",
    " 5: 'EVENT_RECVFROM',\n",
    " 'EVENT_RECVFROM': 5,\n",
    " 6: 'EVENT_RECVMSG',\n",
    " 'EVENT_RECVMSG': 6,\n",
    " 7: 'EVENT_SENDMSG',\n",
    " 'EVENT_SENDMSG': 7,\n",
    " 8: 'EVENT_SENDTO',\n",
    " 'EVENT_SENDTO': 8}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Geneate edge type one-hot\n",
    "relvec=torch.nn.functional.one_hot(torch.arange(0, len(rel2id.keys())//2), num_classes=len(rel2id.keys())//2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Map different relation types to their one-hot encoding\n",
    "rel2vec={}\n",
    "for i in rel2id.keys():\n",
    "    if type(i) is not int:\n",
    "        rel2vec[i]= relvec[rel2id[i]-1]\n",
    "        rel2vec[relvec[rel2id[i]-1]]=i"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "# save the results\n",
    "torch.save(node2higvec,\"node2higvec\")\n",
    "torch.save(rel2vec,\"rel2vec\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Generate the dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "node2higvec=torch.load(\"./node2higvec\")\n",
    "rel2vec=torch.load(\"./rel2vec\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  8%|███████▌                                                                                   | 1/12 [00:00<00:09,  1.15it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2018-04-2  events count: 9078\n",
      "2018-04-2  edge list len: 5417\n",
      "2018-04-3  events count: 1158532\n",
      "2018-04-3  edge list len: 1092585\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 17%|███████████████▏                                                                           | 2/12 [00:09<00:54,  5.43s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2018-04-4  events count: 1471097\n",
      "2018-04-4  edge list len: 1357851\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 25%|██████████████████████▊                                                                    | 3/12 [00:18<01:01,  6.89s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2018-04-5  events count: 971542\n",
      "2018-04-5  edge list len: 840914\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 33%|██████████████████████████████▎                                                            | 4/12 [00:25<00:56,  7.09s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2018-04-6  events count: 1322219\n",
      "2018-04-6  edge list len: 1134670\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 42%|█████████████████████████████████████▉                                                     | 5/12 [00:32<00:49,  7.09s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2018-04-7  events count: 2041667\n",
      "2018-04-7  edge list len: 1847921\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 50%|█████████████████████████████████████████████▌                                             | 6/12 [00:45<00:55,  9.17s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2018-04-8  events count: 753572\n",
      "2018-04-8  edge list len: 669703\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 58%|█████████████████████████████████████████████████████                                      | 7/12 [00:50<00:38,  7.70s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2018-04-9  events count: 2387925\n",
      "2018-04-9  edge list len: 2204548\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 67%|████████████████████████████████████████████████████████████▋                              | 8/12 [01:05<00:40, 10.01s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2018-04-10  events count: 2732900\n",
      "2018-04-10  edge list len: 2554245\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 75%|████████████████████████████████████████████████████████████████████▎                      | 9/12 [01:22<00:37, 12.36s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2018-04-11  events count: 2358096\n",
      "2018-04-11  edge list len: 1976440\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 83%|███████████████████████████████████████████████████████████████████████████               | 10/12 [01:37<00:26, 13.04s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2018-04-12  events count: 2152449\n",
      "2018-04-12  edge list len: 1723312\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 92%|██████████████████████████████████████████████████████████████████████████████████▌       | 11/12 [01:48<00:12, 12.37s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2018-04-13  events count: 876501\n",
      "2018-04-13  edge list len: 717570\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 12/12 [01:53<00:00,  9.45s/it]\n"
     ]
    }
   ],
   "source": [
    "os.system(\"mkdir -p ./train_graphs/\")\n",
    "for day in tqdm(range(2,14)):\n",
    "    start_timestamp=datetime_to_ns_time_US('2018-04-'+str(day)+' 00:00:00')\n",
    "    end_timestamp=datetime_to_ns_time_US('2018-04-'+str(day+1)+' 00:00:00')\n",
    "    sql=\"\"\"\n",
    "    select * from event_table\n",
    "    where\n",
    "          timestamp_rec>'%s' and timestamp_rec<'%s'\n",
    "           ORDER BY timestamp_rec;\n",
    "    \"\"\"%(start_timestamp,end_timestamp)\n",
    "    cur.execute(sql)\n",
    "    events = cur.fetchall()\n",
    "    print('2018-04-'+str(day),\" events count:\",str(len(events)))\n",
    "    edge_list=[]\n",
    "    for e in events:\n",
    "        edge_temp=[int(e[1]),int(e[4]),e[2],e[5]]\n",
    "        if e[2] in rel2id:\n",
    "#         if True:\n",
    "            edge_list.append(edge_temp)\n",
    "    print('2018-04-'+str(day),\" edge list len:\",str(len(edge_list)))\n",
    "\n",
    "    dataset = TemporalData()\n",
    "    src = []\n",
    "    dst = []\n",
    "    msg = []\n",
    "    t = []\n",
    "    for i in edge_list:\n",
    "        src.append(int(i[0]))\n",
    "        dst.append(int(i[1]))\n",
    "    #     msg.append(torch.cat([torch.from_numpy(node2higvec_bn[i[0]]), rel2vec[i[2]], torch.from_numpy(node2higvec_bn[i[1]])] ))\n",
    "        msg.append(torch.cat([torch.from_numpy(node2higvec[i[0]]), rel2vec[i[2]], torch.from_numpy(node2higvec[i[1]])] ))\n",
    "        t.append(int(i[3]))\n",
    "\n",
    "    dataset.src = torch.tensor(src)\n",
    "    dataset.dst = torch.tensor(dst)\n",
    "    dataset.t = torch.tensor(t)\n",
    "    dataset.msg = torch.vstack(msg)\n",
    "    dataset.src = dataset.src.to(torch.long)\n",
    "    dataset.dst = dataset.dst.to(torch.long)\n",
    "    dataset.msg = dataset.msg.to(torch.float)\n",
    "    dataset.t = dataset.t.to(torch.long)\n",
    "    torch.save(dataset, \"./train_graphs/graph_4_\"+str(day)+\".TemporalData.simple\")  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.16"
  },
  "latex_envs": {
   "LaTeX_envs_menu_present": true,
   "autoclose": false,
   "autocomplete": true,
   "bibliofile": "biblio.bib",
   "cite_by": "apalike",
   "current_citInitial": 1,
   "eqLabelWithNumbers": true,
   "eqNumInitial": 1,
   "hotkeys": {
    "equation": "Ctrl-E",
    "itemize": "Ctrl-I"
   },
   "labels_anchors": false,
   "latex_user_defs": false,
   "report_style_numbering": false,
   "user_envs_cfg": false
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "197.797px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
